2012-03-13 73 views
3

我在这里失去了一些东西,但我似乎无法找到问题。这个测试非常简单,它应该失败,但它总是通过。它正在创建一个不匹配密码的用户。rails:devise validatable unit test when always should fail

我在我的用户模型中有这个。所以我知道: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?功能。在某些情况下它只会返回错误。它永远不会回报真实。所以我只是在它应该和单元测试按预期工作并且捕获密码不匹配问题时才返回true或false。 – eliotRosewater 2012-03-13 02:26:17

回答

0

我已经解决了这个问题。我已经覆盖了password_required?功能。在某些情况下它只会返回错误。它永远不会回报真实。所以我只是在它应该和单元测试按预期工作并且捕获密码不匹配问题时才返回true或false。

+1

你可以在你的答案中包含代码吗? – 2012-04-03 08:56:24

相关问题