2012-11-25 37 views
0

我正在爲我的模型添加單元測試,並且遇到了由gem 'devise'提供的用戶模型測試問題。這是我的測試代碼:從單元測試中調用模型方法

require 'test_helper' 

class UserTest < ActiveSupport::TestCase 
    test "should not save user without name" do  
    user = User.new 

    user.email = "[email protected]" 
    user.password = "david123" 

    assert !user.save, "Saved user without name" 
    end 
end 

當運行與ruby -Itest test/unit/user_test.rb測試,我得到以下錯誤:

1) Error: 
test_should_not_save_user_without_email(UserTest): 
ActiveRecord::StatementInvalid: PG::Error: ERROR: column "password" of relation "users" does not exist 
LINE 1: INSERT INTO "users" ("name", "email", "password", "created_a... 
             ^
: INSERT INTO "users" ("name", "email", "password", "created_at", "updated_at", "id") VALUES ('David', '[email protected]', 'david123', '2012-11-25 17:43:02', '2012-11-25 17:43:02', 127326141) 

顯然,這是由色器件提供的密碼方法不叫。運行此測試的正確方法是什麼?

回答

1

剛剛發現問題不是測試代碼,而是我在用戶的燈具中爲password設置了一個值。