我有一个参数化的junit测试,有几个场景&需要能够只运行一个场景。
我想在IntelliJ中这样做。有谁知道怎么做?
这是一个代码示例:
这里是场景,参数和测试方法的集合:
@RunWith(Parameterized.class)
public class MyTest {
@Parameterized.Parameters(name = "{index}: {0}")
public static List<String[]> e2e_scenarios() {
return Arrays.asList(new String[][]{
{"scenario 1"},
{"scneario 2"},
});
}
@Parameterized.Parameter
public String scenarioName;
@Test
public void testrScenario() {
System.out.println("running scenario " + scenarioName);
}
}
我希望能够只运行一个场景。我想比IntelliJ GUI或Junit Runner更好。
在运行所有方案一次后,可以在&#34;运行&#34;中右键单击其中一个方案。窗口并运行或调试它。这个解决方案并不理想,因为整个套件需要先运行才能运行一个。
答案 0 :(得分:1)
您可以通过在运行/调试配置中的方法名称末尾添加参数来传递参数。 IntelliJ将显示警告,但它将正确运行JUnit测试。适用于基本类型,字符串和枚举,但不确定如何将其用于复杂对象。
示例:
SSLEngine On
'SSLProxyEngine On
AllowCONNECT 3299
ProxyRequests On
ProxyVia On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off'