Mockito Junit testcoverage去除单元测试覆盖

时间:2016-07-28 11:36:29

标签: java spring unit-testing junit mockito

您好我们最近使用mockito框架对整个项目进行了单元测试。我的项目是Java spring rest项目。但覆盖率低于35%。需要提高单元测试覆盖率。
1。想要从代码覆盖中删除不必要的包,比如测试包和bean类
2。我们是否需要为控制器类编写单元测试用例,并从工具中生成类。

如果你能帮助我,我将非常感激。

2 个答案:

答案 0 :(得分:1)

测试类和包不计入测试范围,如果是,如何测试代码测试代码等。

当你运行coverage时,它应该只运行在src / main / Java等上。

在调用方法时,应该测试控制器类是否是正确的委托类和方法?

生成的类,如果来自xml使用jaxb等,如果它们只是具有getter,setter和fields的普通旧Java对象,则不需要进行显式测试。它们很可能会通过另一个使用这些对象并调用其方法的类进行测试。这些类将在测试运行之前生成/编译,以便可用 - 确保您不会将生成的类提交到代码库。

您可能需要考虑测试您依赖的第三方库的行为。通过这种方式,您可以立即查看库的任何更新是否可能导致问题,但这应该是高级别的。

答案 1 :(得分:0)

您不需要开始忽略类,而是运行代码覆盖率工具并查看未发现的内容,并使这些单元测试达到标准。也测试你的失败案例!

测试包不应该是35%的一部分,因此删除它们不会有帮助。我所知道的覆盖工具都没有考虑测试包。

对于生成的类 - 很可能不会,但是再次运行代码覆盖率工具,您将很快看到需要涵盖的内容。

如果您使用IntelliJ,则内置覆盖工具: https://www.jetbrains.com/help/idea/2016.2/code-coverage.html

Eclipse使用插件,一个是: http://www.eclemma.org/ 如果你谷歌还有更多。

我更喜欢声纳: http://www.sonarqube.org/

但无论你使用什么工具,这都是要走的路。