我在我们的代码库中有一个接口,我希望能够模拟出来进行单元测试。我正在编写一个测试实现,以允许单个测试能够覆盖它们所关注的特定方法,而不是实现每个方法。
如果测试未能覆盖被测试方法所使用的方法,那么测试实现应该如何运行,我遇到了一个困惑。我应该在测试实现中返回一个“非值”(0,null),还是抛出一个UnsupportedOperationException来显式地失败测试?
发布于 2011-06-30 16:32:06
我总是倾向于抛出异常。最好是在其他任何地方都不使用的异常,这样您就可以很容易地检测到这些异常中的任何一个,使其成为一个活动的代码库。
在当前上下文中,您所称的非值实际上只是一个非值。一旦上下文发生变化,0和null都可能成为可接受的返回值,然后就会出现问题。除了例外,你永远不会有这个问题。加号:大多数测试框架允许您专门测试被测试方法引发的异常。
https://softwareengineering.stackexchange.com/questions/88510
复制相似问题