首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JUnit的@Ignore

JUnit的@Ignore
EN

Stack Overflow用户
提问于 2009-01-05 06:25:49
回答 9查看 19.1K关注 0票数 16

我想知道使用JUnit的@Ignore是否是一个好的实践。以及人们是如何使用它的?

我想出了下面的用例:假设我正在开发一个类并为它编写一个JUnit测试,这个测试没有通过,因为我还没有完全完成这个类。用@Ignore标记它是一种好的做法吗?

我有点担心我们以后可能会错过被忽略的测试用例,或者人们开始使用它来“强迫”测试通过CI。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2009-01-05 06:28:41

我想,这挺好的。

docs说,

测试运行器将报告忽略的测试数量,以及运行的测试数量和失败的测试数量。

因此,这意味着即使你后来忘记删除它,也应该已经通知了你。

docs中给出的示例与您的情况完全相似。

代码语言:javascript
复制
@Ignore("not ready yet")
票数 22
EN

Stack Overflow用户

发布于 2009-08-18 11:10:26

对于由于已知bug而失败的测试,我通常使用@Ignore。一旦错误被确认并记录在错误数据库中,测试失败就没有意义了,因为这个错误是已知的。

尽管如此,保留测试代码还是有意义的,因为一旦修复了bug,它就会再次有用。因此,我将其标记为忽略,并添加注释以指示相关的bug,理想情况下,还应在bug报告中注明应重新激活测试以测试修复。

票数 9
EN

Stack Overflow用户

发布于 2009-01-05 08:26:13

IMHO,忽略它不应该被轻率地使用...由于破碎的窗口效应。

我很少在xUnit中使用这个属性/注释。我仅有的几次使用它们是在编写TestCase#1时作为TODO,我看到了另一个我错过了但也应该包括在内的测试用例。为了不忘记它,我编写了一个带有描述性名称的小测试用例,并将其标记为Ignore。继续完成TestCase#1。但这都是内部签入。我从不签入标记为Ignore的测试。

然而,通常我只是使用一张纸-测试列表来草草记下新的测试用例-这要简单得多。这也迎合了我部分完成的情况...完成了10个测试中的5个。而不是签入5个被忽略的测试,我会保留测试列表,并签入5个通过测试。假设你将在接下来的几次签到中完成剩下的部分,然后再跳到新的地方。

我能想到的其他“特殊情况”是..

当您正在等待来自另一个团队/人员/供应商(其接口已经发布-同意)的组件时,如果没有它,测试就不能运行。在这种情况下,您可以编写测试并将其标记为Ignore("Waiting on X to deliver component Y")

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

https://stackoverflow.com/questions/412409

复制
相关文章

相似问题

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