2011-01-28 30 views
5

Làm thế nào để bạn tải các bản thiết kế của Machinist khi sử dụng Spork?Làm thế nào để bạn tải các bản thiết kế của Machinist khi sử dụng Spork?

Gems:

  • mongoid (2.0.0.rc.6)
  • Capybara (0.4.1.1)
  • bít tết (1.1.0)
  • Spork (0.9.0.rc2)
  • rspec (2.4.0)
  • thợ máy (2.0.0.beta2)

Tôi nhận được lỗi này trong mọi thử nghiệm chấp nhận:

Machinist::NoBlueprintError: 
    No master blueprint defined for class School 

Tất cả các kiểm tra không thành công, vì nó không tìm thấy bất kỳ kế hoạch chi tiết nào. Tôi một số trong những lỗi trên V2 (Tôi vẫn nhận được một vài Không thạc sĩ kế hoạch chi tiết ..), nhưng tôi nhận được lỗi khác quá:

Professor Create a new professor 
Failure/Error: click_link("Profesores") 
RangeError: 
    0x000000821461e4 is recycled object 

tôi đã config.cache_classes = false trong môi trường thử nghiệm cho một này.

Cả hai phiên bản spec_helper:

https://gist.github.com/801814

+0

Tôi đã quản lý để tải bản thiết kế. Đã chỉnh sửa Gist. Nhưng tôi nhận được một lỗi khác, RangeError: 0x000000821461e4 là đối tượng tái chế. Kiểm tra chỉnh sửa. – Nerian

+0

Lỗi đó liên quan đến bản thiết kế của bạn - bạn đang sử dụng phiên bản Machinist nào và tệp bản thiết kế của bạn trông như thế nào? – pat

+0

@pat: Tôi đã thêm tệp blueprints.rb vào ý chính. https: //gist.github.com/801814 và là machinist (2.0.0.beta2) – Nerian

Trả lời

4

Tôi đã bashing đầu tôi chống lại một bức tường gạch cố gắng để chạy thử nghiệm trên cửa sổ với tất cả các đá quý bạn đã đề cập. Tôi đã viết một bài trên blog của tôi trong trường hợp có ai quan tâm, và có tôi đã biết, cửa sổ là quả bóng, nhưng tôi cần phải sử dụng nó ra cần thiết:

Setting up a fast efficient testing environment using Ruby192, Rails 3.0.4, RSpec 2.5.0, Cucumber 0.10.0 and Spork!

Blog riêng của mình không đề cập đến machinist nhưng tôi thực sự sử dụng đá quý 2.0.0.beta2 đó với spork để chạy thử nghiệm dưa chuột của mình.

Chỉ cần để loại trừ sự thật hiển nhiên đã bạn đã bao gồm một cái gì đó như thế này trong tập tin application.rb của bạn:

config.generators do |g| 
    g.fixture_replacement :machinist  
end 

Cũng đã bạn thiết lập file bản thiết kế của bạn trong:

features/support/blueprints.rb for cucumber 
spec/support/blueprints.rb for rspec 

và chắc chắn bạn đã bao gồm:

require 'machinist/active_record' 

ở đầu bản thiết kế của bạn.

Cũng chỉ trên ghi chú khác khi bạn thiết lập và chạy. Machinist lưu trữ rất nhiều đối tượng để làm cho nó chạy nhanh hơn, nhưng đôi khi nó có thể khiến bạn khó khăn khi cố gắng xóa cơ sở dữ liệu. Nếu bạn gặp sự cố, bạn có thể tắt bộ đệm Machinists bằng cách thêm tệp này vào tệp config/environment/test.rb:

Machinist.configure do |config| 
    config.cache_objects = false 
end 
+0

Vâng, mọi thứ đã hoạt động trước khi sử dụng spork. Tôi sẽ cố gắng cấu hình lại nó nhưng sẽ sử dụng nó ngay từ đầu, vì vậy tôi thấy nó không chính xác ở đâu. – Nerian

+0

Bạn có thể chia sẻ dự án spec_helper của bạn không? Điều đó thực sự có thể giúp tôi khi tôi nhận nhiệm vụ. – Nerian

+0

Spec_helper nằm trong bài viết tôi đã liên kết đến. Đã không chạy thử nghiệm RSpec với thợ máy chỉ được nêu ra .. Chỉ có dưa chuột cho đến nay. Gimme 10 phút, tôi sẽ xem liệu tôi có thể bắt em chạy không. – 2potatocakes

Các vấn đề liên quan