我正在嘗試爲我的Rails應用程序設置測試。我使用Factory Girl和Rspec與Sorcery進行身份驗證。出於某種原因,這個測試不及格:爲什麼FactoryGirl(:build)與Sorcery而不是FactoryGirl(:create)一起使用?
describe "User" do
it "has a valid the factory" do
user = FactoryGirl.create(:user)
user.should be_valid
end
end
但是這一個作用:
describe "User" do
it "has a valid the factory" do
user = FactoryGirl.build(:user)
user.should be_valid
end
end
對失敗的測試誤差表示,密碼不匹配的確認,所以它看起來像這樣與Sorcery如何處理密碼加密有關。
有沒有其他人遇到過這個問題?它是否與Sorcery加密密碼有關?是故意的還是錯誤的?
看來我無法使用FactoryGirl.create創建用戶。我唯一能夠通過的是建立一個用戶,然後填寫註冊表單。這是巫術的限制嗎? –
我認爲你只是有一個驗證問題。 '.create'正在調用save,而'.build'不是,後面的對象是有效的,因爲它還沒有通過驗證,因爲你沒有調用'#save'。 – shime
我收到一個錯誤,說當我將測試切換到FactoryGirl.create時,密碼和password_confirmation不匹配。這是錯誤:https://gist.github.com/leemcalilly/d8607ad83d530558a011。那麼這與巫術如何醃製密碼有關嗎?因爲密碼和確認是一樣的。這是我的用戶工廠:https://gist.github.com/leemcalilly/ac401e08a45ebb7b884f。我也可以通過瀏覽器創建用戶。 –