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

JUnit的@Ignore
EN

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

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

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

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

EN

回答 5

Stack Overflow用户

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

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

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

票数 9
EN

Stack Overflow用户

发布于 2009-05-13 14:07:15

我认为这是一个很好的使用它的方式。

您的CI服务器应始终为绿色(在Hudson的情况下为蓝色)。当它不是的时候,你的首要任务就是修复它。

现在,如果CI由于测试代码中的错误而中断(可能测试代码是顽皮的和不确定的),那么您应该忽略测试“@ ignore (此测试代码被破坏,引发缺陷#123)”,并在您的缺陷跟踪器中引发错误。

你不会发布损坏的代码,因为每当你发布的时候,你都会检查所有的缺陷,并决定他们中是否有任何一个是显示停止的,对吗?未运行的失败测试将与其正在测试的代码/功能一起考虑。当且仅当你很高兴它测试的代码没有被破坏时,你才会发布。如果它没有经过测试,就认为它坏了。

我希望在ant中运行测试时使用的junit xml报告格式化程序有一天会包括被忽略的计数(以及原因)以及通过、失败和错误。也许到那时,CI供应商将包括被忽略的测试计数(如果不是,我可能不得不编写一个Hudson插件...)

票数 6
EN

Stack Overflow用户

发布于 2009-01-05 06:31:09

好吧,如果你还没有完成这个类,那么测试失败是件好事。将其标记为@Ignore将意味着您将使用未完成的类发布代码。对了,也许你还没有在执行的任何代码中使用这个类,但总有一天其他开发人员可能会看到这个类并使用它。那么,即使它应该起作用,他也会失败。

在这种情况下,我肯定不会使用@Ignore。

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

https://stackoverflow.com/questions/412409

复制
相关文章

相似问题

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