在 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?
可以通过反射找到一个@Ignore
d 方法。没有注释的方法不能(或者,准确地说,不能确定它是被忽略的测试方法),被注释掉的方法甚至不会进入字节码。
虽然我不认为在运行时找到@Ignore
d 方法有多少实际值(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/