2012-03-13 23 views
3

ここに何か不足していますが、問題を見つけることができません。このテストは本当にシンプルですが、失敗するはずですが、常に成功します。一致しないパスワードを持つユーザーが作成されています。rails:検証可能な単位テストは、失敗すると常に失敗するようになります。

これは私のユーザーモデルにあります。だから私は知っている:validatableが設定されています。

devise :database_authenticatable, :registerable, 
    :recoverable, :rememberable, :trackable, :validatable 

コンソールを使用して手動でテストするとうまく動作します。

user = User.new_normal_user(
      :email     => '[email protected]', 
      :password    => 'some_password', 
      :password_confirmation => 'some_other_password' 
     )   

assert user.save 

しかし、それは保存し、ユニットテストを実行するとき、とき、それはいけないいくつかの奇妙な理由のために:それは私がここで

は、ユニットテストでミスマッチしたパスワードを保存できません。私は困惑している。私はこれを理解できません。

+0

私はこの問題を解決しました。私は新しいユーザーとして私の答えをまだ投稿できません。私はpassword_requiredを上書きしましたか?関数。特定の条件の下でのみfalseを返します。それは決して真実を返すことはない。だから私はちょうどそれが真実か偽かを返すようにし、単体テストが期待通りに動いていて、問題をマッチしないパスワードをキャッチした。 – eliotRosewater

答えて

0

私はこの問題を解決しました。私はpassword_requiredを上書きしましたか?関数。特定の条件の下でのみfalseを返します。それは決して真実を返すことはない。だから私はちょうどそれが真実か偽かを返すようにし、単体テストが期待通りに動いていて、問題をマッチしないパスワードをキャッチした。

+1

答えにコードを含めることはできますか? –

関連する問題