ile parola uzunluğu doğrulamasının sınanması Kullanıcı modelinin 8 karakter uzunluğunda bir < parolasının bulunmasını sağlamak için bazı birim testleri yazıyorum.RSpec
class User < ActiveRecord::Base
...
validates :password, :length =>{
:minimum => 90,
:too_short => "password is too short, must be at least %{count} characters"
}, :on => :create
end
Ve user_spec.rb testi:
Bir kullanıcı modeli ile başladıdescribe User do
subject { FactoryGirl.build :user }
its(:password) { should have_at_least(8).items }
end
Bu aslında benim doğrulama test etmez fark Ancak, bu sadece test eder benim fabrikada şifre> 8 karakter vardı.
Geçerli olanı test etmekten farklı bir yol var mı? 0-7 karakter şifreleri için yöntem?
Benim teorim, eğer sadece 7 karakter ve birisinin yanlışlıkla kodlarını test ettiğimde, 4 karakterlik şifrelerin tamamlanmış olması durumunda, bu doğrulamanın geçerliliğini taşıyordu, ama gerçekten de amaçlanmış değildi. Bir şifrenin 8 karakterden fazla olması muhtemel (muhtemelen başka bir durumda doğru olmayabilir) ve bu yüzden 4 parolalarının yanlış olmasına neden olacak bazı kodlar olabilir.
Bu durumda, modeldeki parola doğrulamasını değiştiren kişi, yanlış bir şey yaptıklarını bilmeyecektir.
Bu gibi durumların düzgün bir şekilde nasıl TDD ile düzgün şekilde test edileceğini bilmek isterim.
Sorununu anlamıyorum .. – apneadiving