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

问题描述

测试或忽略以下方法的覆盖范围的最佳方法是什么?注意,更新方法只是调用服务,我必须覆盖80%的类/代码。

enter image description here

解决方法

有两个答案。

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

  • 通过检查,您可以 得出结论,该方法是微不足道的,不需要进行测试。您可以将其从测试覆盖率 1 中排除。或者,您可以通过找到其他一些未覆盖的代码来“解决”此问题,并编写测试以覆盖该代码...从而将总覆盖率提高到所需的80%。

但是,不利的一面是,这种方法并不完全是微不足道的。如果由于某种原因userServicenull,则此方法将引发NPE。可能需要一些测试用例来捡起userService配置不正确的情况。

尽管update的当前实现似乎微不足道,但将来有人可能会修改该方法以执行更复杂的操作。简单地调用它可能会发现(将来)不会被注意到的问题。


1-这取决于您使用的覆盖率工具。您没有提到那是什么。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...