一尘不染

JUnit @忽略有用吗?

java

在JUnit中,您可以使用@Ignorebefore方法来告诉测试运行器自动跳过那些测试。据我所知,这实际上只是记录/标记不完整的/不再需要的功能测试的一种便捷方法,您需要稍后再返回。

那么,我是否正确地说,在运行时,@Ignore测试,没有注释的方法和注释掉的方法之间没有区别?(假设这些测试都是自包含的。)是否可以通过某种方法在Netbeans的JUnit中获取被忽略的测试用例的列表?如果没有,该@Ignore标签实际上有多少用处,因为通过测试可能会更有用,因此它不会被忽略?


阅读 428

收藏
2020-12-03

共1个答案

一尘不染

那么我是否正确地说,在运行时@Ignore测试,无注释的方法和注释掉的方法之间没有区别?

@Ignored方法可以通过反射找到。没有注释的方法不能(或者,确切地说,不能 确定 地将其 标识
为被忽略的测试方法),并且注释掉的方法甚至都不会进入字节码。

尽管我认为找到@Ignored方法运行时不会有太多实用价值,但生成统计信息/报告可能会很有用。

@Ignore标签实际上有多少用处

我能想到的一件事是可搜索性。您可以轻松地识别@Ignore源代码中的所有注释,而未注释或注释掉的测试并不是那么容易找到。

通过测试可能会更有用,因此它不会被忽略吗?

如果您想要(并且可以)立即修复它,则可以使其失败。在某些情况下,您可能无法做到,但是您仍然希望方法始终存在,以确保不会被遗忘。然后@Ignore才有意义。

2020-12-03