如何在Rails单元测试中显示失败的验证?

JD.*_*JD. 4 unit-testing ruby-on-rails

简介:失败的单元测试告诉我哪个断言(文件:行)失败,但没有哪个验证导致失败.

更多信息:我的一个模型中有11个验证.无论我跑步rake test:units --trace还是跑步,单位测试都很棒ruby -Itest test/unit/mymodel_test.rb.然而,尽管它告诉我究竟哪个assert失败了,但我没有被告知哪个验证失败了.我一定错过了一些明显的东西,因为我不能很好地向Google提出这个问题以获得答案.

谢谢 :)

JBK*_*JBK 7

我想你想要的是这个:

assert person.valid?, person.errors.full_messages.inspect
Run Code Online (Sandbox Code Playgroud)

如果人员模型无效,则打印出错误消息供您查看.

  • 我编辑了答案,包括调用```inspect```. (2认同)