我一直在构建我的应用程序,现在我准备开始测试。我在Seed.rb中定义了Factory女孩,但是当我正在运行测试时,我还在Rspec的惯常位置/spec/factories.rb
中定义了测试。未定义的方法`first_name ='Rspec +工厂
但是,我的第一次测试失败,出现以下错误。
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 "[email protected]"
password_confirmation "admin1234"
admin true
end
factory :user1, class: User do
first_name "user2"
last_name "man2"
password "user1234"
profile_name "profilename"
email "[email protected]"
password_confirmation "user1234"
admin false
end
end
它在我seed.rb使用上发展数据时能正常工作,但现在我已经开始使用Rspec进行测试它都出错了。
我在这里做错了什么。我目前不是一个很大的测试迷,但我需要提高我的技能,因为我知道它对于Web应用程序非常有用。
您的帮助是非常感谢,请让我知道如果您需要了解更多的信息。
都能跟得上,不工作,但是当我尝试耙分贝:重置我得到未定义的方法相同的错误FIRST_NAME –
你可以发表你的'schema.rb ' – gotva
谢谢Scott。这个问题一直在打击我。是不是直到你提到的数据库可能不同步,我跳入'rails console -e test'并运行'User'来查看我的'first_name'字段不存在。冉你的建议答案和所有修正! :) –