【发布时间】:2013-12-21 00:24:45
【问题描述】:
我正在阅读 RoR 测试指南 (http://guides.rubyonrails.org/testing.html)
在页面下方大约 1/5 处显示“”要查看如何报告测试失败,您可以将失败的测试添加到 post_test.rb 测试用例。”
test "should not save post without title" do
post = Post.new
assert !post.save
end
我正在尝试了解在保存后使用 bang (!) 的含义。
在我正在开发的应用程序中,我在模型中进行了验证
validates :post, presence: true
- 如果我保持原样,则测试通过。
- 如果我删除 bang 测试失败(因为验证)
- 如果我在保存后将 bang 移至引发异常(因为验证失败 我认为爆炸会返回错误消息)
那么你能帮我理解一下,前面的砰砰声是做什么的,为什么它会让测试通过?
问题编辑/扩展:为什么第二次测试失败(F)而不是异常(E)
【问题讨论】:
-
很兴奋。但说真的,它是一个标准的 Ruby 运算符,并且可以跨语言找到。
标签: ruby-on-rails unit-testing validation ruby-on-rails-4 ruby-2.0