在junit4中生成失败

时间:2019-05-13 09:51:29

标签: java junit junit4

我试图了解在Junit4中哪个调用导致错误,哪个导致失败。直到Junit3,

可以使用

创建故障
junit.framework.AssertionFailedError

还有

错误
junit.framework.Assert.assertEquals

但是随着 junit.framework.Assert 的弃用,该信息并未移至 org.junit.Assert ,我无法在junit4中找到引发失败的方法。我尝试使用org.junit.Assert(甚至Assert.fail())进行的任何操作,JUnit都将其视为错误。

是否有关于如何在Junit4样式测试中正确生成故障的想法?

更新

我发现JUnit ant目标生成的XML末尾有一个std.err。

<system-err>TEXT here</system-err>

,并且我怀疑这是导致它成为错误而不是失败的原因。但是当我清除所有sys.err时,它仍然标记为错误。

1 个答案:

答案 0 :(得分:1)

您仍然可以使用Assert.assertThat来获取断言失败

assertThat(0, is(1)); // fails:
assertThat(0, is(not(1))) // passes

可能不是您所需要的,但JUnit 4也有ComparisonFailure

  

当assertEquals(String,String)失败时抛出。如果要向用户显示两个复杂字符串之间的区别,请手动创建并抛出一个CompareFailure。