因此,我們必須對用戶模型的默認腳手架的測試,具體如下:Rails的功能測試用fixture與失敗「的Mysql ::錯誤:重複的條目」
test "should create user" do
assert_difference('User.count') do
post :create, :user => @user.attributes
end
assert_redirected_to user_path(assigns(:user))
end
我們有一個用戶燈具:
one:
email: [email protected]
name: Joe Smith
問題是測試失敗:
1) Error: test_should_create_user(UsersControllerTest): ActiveRecord::RecordNotUnique: Mysql::Error: Duplicate entry '[email protected]' for key 2: INSERT INTO
users
什麼似乎是發生的是,軌道加載夾具,然後嘗試使用相同的「一個」數據創建用戶AGAIN,並且該唯一性約束失敗。這一切都有道理。問題是如果您需要從測試中創建的用戶對象的fixture文件中提取數據(如果使用相同的fixture來預填充數據庫),我們該如何測試這個問題?
問題仍然存在於rails 4和mysql中。你找到了解決方案嗎? – hrust 2015-11-18 00:44:25