2015-05-06 16 views
0

我是測試單元中的新手。我需要驗證用戶的電子郵件是在用戶表中唯一確認用戶電子郵件在測試單元導軌中是唯一的

require 'test_helper' 

class UserTest < ActiveSupport::TestCase 

    def setup 
    @usuario = User.new 
    @usuario.email="[email protected]" 
    @usuario.password="123456" 
    end 

    test "user email must be unique" do 

    end  
end 
+0

爲什麼你想驗證您在測試中設置的電子郵件地址是否是唯一的?難道你不想測試你的模型是否確保電子郵件地址作爲自己驗證的一部分是唯一的? – smathy

+0

您是否試圖驗證如果用戶已經註冊了特定的電子郵件,他們無法再使用同一封電子郵件註冊?如果是這樣,我會開始做測試說: 測試「用戶電子郵件必須是唯一的」做 –

+0

是的。我想要做的。我必須使用同一封電子郵件創建其他用戶才能進行測試?這裏的主鍵是電子郵件 – user3554170

回答

1

好了,根據您的其他評論,這是我怎麼會做它:

class UserTest < ActiveSupport::TestCase 

    setup do 
    @attrs = { email: "[email protected]", password: "123456" } 
    end 

    test "user email must be unique" do 
    assert User.create(@attrs) 
    assert user = User.new(@attrs) 
    assert user.invalid? 
    assert user.errors.include?(:email) 
    end 
end 
+0

非常感謝,很好 – user3554170

+0

不客氣。 – smathy