Java 在junit4中生成失败

Java 在junit4中生成失败,java,junit,junit4,Java,Junit,Junit4,我试图了解在Junit4中哪个调用导致错误,哪个调用导致失败。直到6月3日 可以使用创建失败 junit.framework.AssertionFailedError 和错误 junit.framework.Assert.assertEquals 但是,由于junit.framework.Assert的弃用(未移动到org.junit.Assert),我无法在junit4中找到一种抛出失败的方法。无论我尝试使用org.junit.Assert还是Assert.fail,junit都会将其视为

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

可以使用创建失败

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时,它仍将其标记为错误。

您仍然可以使用它获取断言失败

它可能不是您所需要的,但JUnit4也有

当assertEqualsString失败时引发。如果要向用户显示两个复杂字符串之间的差异,请手动创建并抛出ComparisonFailure


JUnit将其视为错误—您的意思是什么—在编译时或运行时?我们运行一个测试并生成一个HTML报告。在HTML报告中,断言失败被视为错误。正如我所检查的,即使是ComparisonFailure也被视为错误。使用Ant JUnit目标生成的XML报告将其视为错误。@ Krishnom是指使用Actual.AtjtTy.YUPP时的错误。就像
assertThat(0, is(1)); // fails:
assertThat(0, is(not(1))) // passes