don*_*ton 14 java junit unit-testing netbeans ignore
在JUnit中,您可以使用@Ignore
before方法告诉测试运行器自动跳过这些测试.从我可以收集的内容来看,这实际上只是一种方便的方式来记录/标记您想要稍后返回的不完整/不再有功能的测试.
我是否正确地说,在运行时,@Ignore
测试,没有注释的方法和注释掉的方法之间没有区别?(假设这些测试都是自包含的.)有没有办法在Netbeans上的JUnit中获取被忽略的测试用例列表?如果没有,@Ignore
标签真正有多大用处,因为失败测试可能更有用,所以它不会被忽视?
Pét*_*rök 21
我是否正确地说,在运行时,@ Ignore测试,没有注释的方法和注释掉的方法之间没有区别?
的@Ignore
d方法可以通过反射找到.没有注释的方法不能(或者,确切地说,它不能被确定地识别为被忽略的测试方法),并且注释掉的方法甚至不会进入字节码.
虽然我认为找到@Ignore
d方法运行时没有多大实际价值,但生成统计/报告可能很有用.
@Ignore标签真正有多大用处
我能想到的一件事是可搜索性.您可以轻松识别@Ignore
源代码中的所有注释,而未注释或注释掉的测试不是那么容易找到.
失败测试可能更有用,所以它不会被忽视?
如果你想(并且可以)立即修复它,可以让它失败.有些情况下,你不能,但你仍然希望方法到处,准确地说它不会被遗忘.然后@Ignore
才有意义.
没有注释的方法最有可能是实用方法,可能由测试中的其他方法使用.
注释掉的方法是完全隐藏的方法.
但您可能会@Ignore
用来表示您暂时禁用了测试.如果您有一大片复杂的代码正在转换,您可能希望在代码失败时暂时禁用某些测试,尤其是在运行该代码的机制作为某个较大的回归套件的一部分运行时.该@Ignore
属性将提醒您(或您的QA团队)还有更多工作要做.
请记住,@Ignore
'd测试仍然是实时代码,可以通过反射看到甚至执行,这些代码不能被注释掉.它还意味着当您重构其他代码时,它们也会更新,并且API中的语法破坏将显示在那里.因此,即使使用@Ignore
set进行测试也可以积极地提高代码质量.
JUnit 4 TestRunners将@Ignore
'd测试显示为"跳过",这样你最终可以看到有多少测试通过/失败/跳过.
虽然您的Netbeans副本可能无法充分利用@Ignore,但我可以向您保证,它不是JUnit测试的唯一消费者.
归档时间: |
|
查看次数: |
8814 次 |
最近记录: |