排除单个JUnit测试方法而不修改Test类?

排除单个JUnit测试方法而不修改Test类?,第1张

排除单个JUnit测试方法而不修改Test类?

如果您根本无法触摸原始测试,那么您将受到一些严重的限制。您的压倒一切听起来是最好的选择,但有一些更改:

专门构建排除超级类的Ant测试,以便运行您不了解的其他类。

您可以使用@Rule批注(JUnit
4.7的新增功能)来了解正在运行的测试并中止测试(通过返回空的Statement实现),而不是重写特定的方法,从而使您在了解是否避免测试方面拥有更大的灵活性。
。此方法的唯一问题是您无法停止使用此方法运行@Before方法。如果这是一个问题(并且您真的无法通过测试),那么我只能想到重写方法中的@Ignore。

但是,如果您可以触摸这些测试,则会打开一些其他选项:

您可以通过在类上指定@RunWith标记,使用自定义运行程序来运行它们。该运行程序只是将执行传递给该项目中的标准运行程序(JUnit4.class),但在您的项目中(通过系统属性或其他某种机制)将检查测试名称而不运行测试。这样做的好处是侵入性最少,但实施起来最困难(流浪者是毛茸茸的野兽,@
Rule的既定目标之一是消除制造它们的大部分需求)。

另一种方法是在测试中做出一个that语句,该语句将检查某些配置设置,如果该测试应运行,则该设置为true。实际上,这实际上涉及向测试中注入权利,这很可能成为远程标记为“单独项目”的任何事物的破坏因素。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5561923.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存