Tôi có một số thông số kỹ thuật, được viết bằng RSpec, kiểm tra các mô hình khác nhau. Tôi sử dụng Factory Girl để tạo đối tượng để thử nghiệm.rspec kiểm tra đi cô lập, nhưng không thành công khi chạy với các xét nghiệm khác
Bây giờ điều đặc biệt nhất xảy ra:
Khi tôi chạy rspec spec/models/specific_model_spec.rb
--- này vượt qua tất cả các bài kiểm tra trong spec mà
Tuy nhiên, khi tôi chạy rspec spec/models
--- mỗi thử nghiệm trong spec này không đề cập đến một liên kết không hợp lệ được tạo (thông qua một nhà máy)
Hiệp hội được tạo bởi nhà máy rõ ràng là hợp lệ khi chạy thử nghiệm trong sự cô lập cũng hiển thị.
Điều gì có thể gây ra hành vi này?
Cập nhật:
Các lỗi tôi nhận được khi chạy spec cùng với thông số kỹ thuật khác (lỗi này là như nhau cho mỗi thất bại):
6) StreamItem adds a stream_item to a project and consultant when an engagement is added
Failure/Error: @project = Factory.create(:project, :name => 'bar')
Validation failed: Customer is invalid
# ./spec/models/stream_item_spec.rb:44:in `block (2 levels) in <top (required)>'
Các project factory
được thử nghiệm trong spec khác và vượt qua tốt ...
cập nhật 2: mã nhà máy có liên quan sử dụng được một sau:
Factory.define :manager, :class => User do |f|
f.sequence(:email) { |n| "bar#{n}@example.com" }
f.password "pass12"
f.sequence(:name) { |n| "Erwin#{n}" }
f.roles_mask 4
end
Factory.define :customer do |f|
f.sequence(:name) { |n| "foo customer#{n}" }
f.association :last_actor, :factory => :manager
f.account_id 1
end
Factory.define :project do |f|
f.sequence(:name) { |n| "foo project#{n}" }
f.association :manager, :factory => :manager
f.association :customer, :factory => :customer
f.start_date Date.today << 1
f.finish_date Date.today >> 2
f.status 1
f.association :last_actor, :factory => :manager
f.account_id 1
end
Hãy xem lỗi. –
Đã thêm lỗi. – ErwinM
Cảm ơn. Và mã nhà máy của bạn? –