似乎我可以为 .to
指定异常类,但不能为 .not_to
指定异常类?
具体原因是什么?
Failure/Error: expect{ smth }.not_to raise_exception SomeExceptionClass
ArgumentError:
`expect { }.not_to raise_error(SpecificErrorClass)` is not valid, use `expect { }.not_to raise_error` (with no args) instead
最佳答案
稍微扩展一下 Nakilon 的回答:
这是他们的设计决定。看起来他们认为这不是一个很好的指定测试,因为如果您预计某个错误不会被引发,那么测试将通过如果:
- 没有出现错误
- 出现了一些其他错误
...这至少是不精确的。可能您的代码只想做其中一件事情。
无论如何,这似乎是推理——我不想说它有多公平。
关于ruby - 为什么在 RSpec 中弃用了负面的特定异常期望?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26937627/