【发布时间】:2015-10-12 22:28:49
【问题描述】:
我想问更多与测试相关的概念性问题。我正在使用 Mockitos 进行单元测试。
我有一个方法可以做很多事情。它在内部调用的所有方法都是 void 方法,这些方法又会执行一些其他操作。所讨论的方法可以有异常或无异常完成。没有编写断言语句的范围,因为它主要调用 void 方法。另外,我已经为这个类的所有其他方法编写了独立的单元测试。
我的问题是,如果我需要测试覆盖率,我应该为所有方法编写测试用例。但是,我没有为我的一种方法找到任何有效的断言。从单元测试覆盖率的角度来看,所讨论的方法是一种重要的方法。当我运行我的测试时,我确实在日志中看到这些方法执行得很好,但实际上没有什么可以断言的。遇到这种情况我该怎么办?
1) 在没有任何断言的情况下保持方法不变?它仍在检查一切是否按预期工作
2) 创建 2 个方法,一个期望异常(Negative Testcase)和一个没有断言的常规测试方法。 (这基本上表明我已经涵盖了积极和消极的情况)。我这里还没有任何断言。
这是正确的方法还是有更好的方法来处理这个问题?
【问题讨论】:
-
您说您正在使用 Mockito 进行测试。您是否正在使用被测试此方法调用的对象的模拟?在这种情况下,您可以使用 Mockito 的
verify()来验证是否按预期调用了适当的其他方法。然后,您正在验证行为,并且不需要断言。 -
@nikpon 请阅读完整的问题陈述,我确实说过我已经涵盖了从该方法调用的所有带有 assert 的方法。
标签: java unit-testing junit mockito