【发布时间】:2017-07-12 17:52:27
【问题描述】:
有没有办法查明在某些代码的执行过程中是否引发并挽救了任何异常?
最好在使用 ActiveSupport::TestCase 而不是 RSpec 编写的测试中
是否有任何全局 ruby 异常堆栈之类的东西,我可以检查一下?
【问题讨论】:
-
设置你的fixture,让它引发错误并验证错误没有泄漏。
-
@ndn 如何从夹具中引发错误?顺便说一句,错误不在数据中,而在代码本身..
-
我所说的fixture不是指rail的fixture,我指的是运行测试的前提条件/环境。只需确保在设置中完成了引发错误所需的一切。
-
@ndn 啊,我明白了。只是我在另一个我不想要异常的测试用例中遇到了这个问题,但它们显然还是发生了,被默默地救了出来,并导致我的测试用例失败,因为一些代码没有在点以下执行引发异常的地方。因此,如果有任何全局 ruby 异常堆栈或者我在测试中可以检查的东西是否为空,我会很高兴。
-
“另一个我不想要异常的测试用例,但它们显然还是发生了” - 是什么导致了失败?您要么为不应该关心的测试设置了错误流,要么实现本身有问题。
标签: ruby-on-rails ruby exception testing testcase