繁体   English   中英

我可以强制Intellij-IDEA运行被忽略的测试吗?

[英]Can I force Intellij-IDEA to run an ignored test?

我写了一个标记为@Ignore的性能测试类,因为它需要很长时间才能运行,我通常不需要运行它。 我希望能够右键单击其中一个@Test并说“运行”,但是当我在intellij中执行此操作时,它不会运行测试,因为该类被标记为忽​​略。

我不想注释掉@Ignore因为它太容易不小心犯了该文件@Ignore删除。 但是我觉得如果我明确地告诉Intellij运行测试它应该运行它而不管@Ignore 请记住,如果我运行一组类(例如:包中的所有类),我仍然希望忽略此测试类。

是否有可能在Intellij中获得此功能?

我发现这个链接说你可以用Assume.assumeTrue做一些棘手的事情,如果条件是假的话会把测试标记为忽略,通常这是在条件中使用的系统属性,所以你可以把它传入命令行上的参数。 IntelliJ允许您自定义命令行参数,因此它应该可以工作,但我自己没有尝试过。

该链接的示例是:

@Test
public void shouldTryEveryPossiblePhoneticAttributeSet() throws IOException {
    Assume.assumeTrue(TestEnvironment.hasBigParseSets());
    ...
}

public class TestEnvironment {
   private static final String HAS_BIG_PARSESETS = "hasBigParseSets";
   public static boolean hasBigParseSets(){
      return "true".equalsIgnoreCase(System.getProperty(HAS_BIG_PARSESETS));
   }
}

并且“mvn test -P bigParseSets”vs“mvn test”。

编辑:我刚刚在StackOverflow上发现了这个简洁的线程 ,告诉我们如何运行单个junit测试。 我假设我不需要引用它,因为它是在StackOverflow上的帖子。 这解释了如何从命令行执行此操作,但您应该能够执行与具有类和方法名称的硬编码值的操作非常类似的操作,然后右键单击SingleJUnitTestRunner类并要求IntelliJ运行它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM