Pac*_*ane 18 java eclipse junit unit-testing eclemma
我正在尝试使用Eclipse和EclEmma在java中获取代码覆盖率.
我的测试是使用JUnit 4,我有一些看起来像这样的测试:
@Test(expected = IllegalArgumentException.class)
public void createTime_withInvalidMinuteUnder0_throws(){
//Arrange
...
//Act
Something triggering IllegalArgumentException Here
}
Run Code Online (Sandbox Code Playgroud)
并且EclEmma说测试失败了,因为抛出了IllegalArgumentException.因此它会丢弃我的代码覆盖率指标,即使它应该抛出一些东西.有没有选项让它看到JUnit预期的异常标记?
编辑:我发现如果你把测试添加到测试声明中,它就可以了!
还不能发表评论,但我想指出,关于已接受的答案,有充分的理由关注测试代码的覆盖率。
根据您的 JUnit 版本,使用 JUnit 可以轻松搞砸测试方法命名约定或忘记 @Test 注释。这样做,您很容易被愚弄,认为您的实心绿色条意味着您刚刚添加的不错的测试通过了,而实际上它从未运行过。Coverage 着色将非常突出地显示这一点。当然,正如该线程指出的那样,您的一些抛出异常的测试可能看起来好像没有运行。
归档时间: |
|
查看次数: |
8524 次 |
最近记录: |