java - JUnit @Ignore 有用吗?

标签 java unit-testing junit netbeans

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

那么我说的对吗,在运行时,@Ignore 测试、没有注释的方法和注释掉的方法之间没有区别? (假设这些测试都是自包含的。)有没有办法在 Netbeans 上的 JUnit 中获取被忽略的测试用例列表?如果不是,@Ignore 标签真正有多少用处,因为它可能在测试失败时更有用,这样它就不会被忽略?

最佳答案

Am I correct in saying then, that at runtime there is no difference between an @Ignore test, a method with no annotation, and a commented out method?

可以通过反射找到一个@Ignored 方法。没有注释的方法不能(或者,准确地说,不能确定它是被忽略的测试方法),被注释掉的方法甚至不会进入字节码。

虽然我不认为在运行时找到@Ignored 方法有多少实际值(value),但它可能对生成统计数据/报告很有用。

how much usefulness does the @Ignore tag really have

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

it might be more useful to fail the test so it's not overlooked?

如果您想要(并且可以)立即修复它,让它失败也没关系。有些情况下你不能,但你仍然想办法在身边,正是为了它不会被遗忘。然后 @Ignore 就有意义了。

关于java - JUnit @Ignore 有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6707172/

相关文章:

java - 从接口(interface)引用获取具体的类实现

java - Sonar 违规 : Invoke method(s) only conditionally

java - jboss 上的 Yui 压缩器 StringIndexOutOfBoundsException

wcf - 如何在 WF 工作流中模拟 Web 服务调用?

java - 运行 junit 测试方法以与 JAX-RS 服务交互 - NoClassDefFoundError

安卓单元测试: How to mock an object which contains MutableLiveData but only exposes LiveData?

javascript - 将值和控制从 javascript 传递到 servlet

django - 是否可以为某些测试禁用 django haystack?

c# - 如何在 Visual Studio 中编写 C# 单元测试?

rest - 测试 Neo4j 托管扩展