在intellij中运行参数化junit测试的单个场景

时间:2016-04-21 12:49:17

标签: java intellij-idea junit parameterized

我有一个参数化的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;中右键单击其中一个方案。窗口并运行或调试它。这个解决方案并不理想,因为整个套件需要先运行才能运行一个。

1 个答案:

答案 0 :(得分:1)

您可以通过在运行/调试配置中的方法名称末尾添加参数来传递参数。 IntelliJ将显示警告,但它将正确运行JUnit测试。适用于基本类型,字符串和枚举,但不确定如何将其用于复杂对象。

示例:

SSLEngine On
'SSLProxyEngine On
AllowCONNECT 3299 
ProxyRequests On
ProxyVia On                    
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off'