2013-08-17 4 views
0

그래서 나는이 두뇌에 열중하여 어쩌면 당신 중 일부는이 사용자 모델에 대해 적절한 단위 테스트를 수행하는 방법에 대해 더 좋은 아이디어를 갖고있을 수도 있습니다. 기본 단위 테스트는 다음과 같습니다.사용자 모델의 클리어런스 단위 테스트?

test "should not save without name" do 
    user = User.new 
    user.email = "[email protected]" 
    user.password = "letmein" 
    assert !user.save 
end 

이 테스트는이 모델과 함께 전달됩니다.

class User < ActiveRecord::Base 
    include Clearance::User 

    validates :name, presence: true 

    has_and_belongs_to_many :contests 
end 

클리어런스에서 더 좋은 방법이 있습니까? 이 보석을 사용하면 전자 메일과 암호를 임의로 할당하여 이처럼 사용자를 생성 할 수 있지만이 작업을 수행하지 않아도됩니다.

답변

1
user = User.new(:email => "[email protected]", :password => "letmein") 

하고,

assert !user.valid? 

또는

user.should_not be_valid 

또는

expect { user.save }.to change(User, :count).by(0)