我发现这个链接说你可以用Acsucation.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 运行它。