测试覆盖仅调用另一个方法的方法的最佳方法是什么?

What is the best way to test cover a method that just call another method?

测试或忽略以下方法覆盖率的最佳方法是什么?请注意,更新方法仅调用服务,我必须覆盖 class/code.

的 80%

有两个答案。

  • 如果您的测试需要覆盖 update 方法,只需编写调用它的(单元)测试即可。 (应该不难。)这是我的建议。

  • 通过检查,您可以断定该方法很简单,不需要测试。您可以将其排除在测试范围之外1。或者,您可以通过查找其他一些 non-covered 代码并编写测试来覆盖该代码来“解决”这个问题……以将整体覆盖率提高到所需的 80%。

但不利的一面是,这种方法并不完全微不足道。如果由于某种原因 userServicenull,此方法将引发 NPE。也许需要一些测试用例来挑选 userService 未正确配置的案例。

虽然 update 的当前实现看起来微不足道,但将来有人可能会修改该方法来做一些更复杂的事情。简单地调用它可能会发现(未来的)问题,否则不会被注意到。


1 - 这取决于您使用的覆盖工具。你还没说那是什么。