我一直在構建我的應用程序,現在我準備開始測試。我在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'字段不存在。冉你的建議答案和所有修正! :) –