我一直在构建我的应用程序,现在可以开始测试了。我在seeds.rb 中定义了Factory girl,但是当我运行测试时,我还在Rspec 的常用位置定义了测试/spec/factories.rb
。
但是我的第一次测试失败并出现以下错误。
user_spec.rb
require 'spec_helper'
describe User do
it "should have valid factory" do
FactoryGirl.build(:user1).should be_valid
end
end
返回错误:
Failures:
1) User should have valid factory
Failure/Error: FactoryGirl.build(:user1).should be_valid
NoMethodError:
undefined method `first_name=' for #<User:0x000000061410f8>
# ./spec/models/user_spec.rb:5:in `block (2 levels) in <top (required)>'
Finished in 0.05459 seconds
1 example, 1 failure
Failed examples:
rspec ./spec/models/user_spec.rb:4 # User should have valid factory
Randomized with seed 29084
spec/factories.rb
FactoryGirl.define do
factory :admin1, class: User do
first_name "admin"
last_name "minstrator"
password "admin1234"
profile_name "profilename"
email "admin@admin.com"
password_confirmation "admin1234"
admin true
end
factory :user1, class: User do
first_name "user2"
last_name "man2"
password "user1234"
profile_name "profilename"
email "user2@user.com"
password_confirmation "user1234"
admin false
end
end
在我的 seed.rb 中使用开发数据时它工作正常,但现在我已经开始使用 Rspec 进行测试,但它都出错了。
我在这里做错了什么。目前我不是测试的忠实拥护者,但我需要在这里提高我的技能,因为我知道它对 Web 应用程序非常有用。
非常感谢您的帮助,如果您需要更多信息,请告诉我。