[英]How to Junit test and expect an exception whilst maintaining code coverage
我正在尝试为我的应用程序编写一些JUnits,我相信我有大约80%的代码覆盖率,但是当我运行测试时,我的报告看起来如下;
这给了我52%的代码覆盖率结果,这不是主意。
是否有另一种方法来编写预期异常的方法,以保持我的覆盖率?
谢谢
不要担心测试的代码覆盖率只是源代码的代码覆盖率(不是测试代码)。
如果您使用的是emma或jaCoCo,则可以使用过滤器来仅检测或报告特定类或目录的结果。
如果你有src
和test
单独文件夹,那么这样做要容易得多
您可能正在使用Eclipse EMMA插件来测量代码覆盖率。 正如这里所描述的那样http://emma.sourceforge.net/faq.html#q.blockcoverage Emma测量阻止(不是行)覆盖,所以当你的代码在某些时候抛出异常,因为没有覆盖阻塞,因为它没有到达。 EMMA FAQ说:
block是一系列字节码指令,没有任何跳转或跳转目标。 换句话说,一个基本块总是( 在例外的情况下 )作为一个原子单元执行(如果它完全输入)
和
因此保证覆盖的基本块在给定的覆盖运行会话中至少执行一次而没有失败。
还有一件事。
您不应该查看测试类的覆盖范围,关注业务(常规)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.