首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >junit4中的故障生成

junit4中的故障生成
EN

Stack Overflow用户
提问于 2019-05-13 09:51:29
回答 2查看 171关注 0票数 0

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

可以使用以下方法创建失败

代码语言:javascript
复制
junit.framework.AssertionFailedError

和错误与

代码语言:javascript
复制
junit.framework.Assert.assertEquals

但是,由于junit.framework.Assert,的不推荐(没有转移到org.junit.Assert,),我无法在junit4中找到一种抛出失败的方法。无论我尝试使用org.junit.Assert (甚至Assert.fail() ),JUnit都认为它是错误。

知道如何在Junit4样式的测试中正确地生成失败吗?

更新

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

代码语言:javascript
复制
<system-err>TEXT here</system-err>

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

EN

回答 2

Stack Overflow用户

发布于 2019-05-13 10:07:56

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

assertThat(0,is(1));// assertThat(0,is(1)) // passes

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

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

票数 1
EN

Stack Overflow用户

发布于 2021-08-31 00:48:25

我也有同样的问题。到目前为止,我找到的唯一解决方案是使用一个try块,然后是

代码语言:javascript
复制
    catch (AssertionError ae) {
       fail(ae.toString());
     }

但我看到了这件事的坏处,我看到很多人说这是一种糟糕的做法。不幸的是,当我使用ant来做报告时,我没有看到其他的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56109843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档