2016-09-08 37 views
0

的問題很簡單,但我找不到它的任何地方(谷歌搜索)我想運行mvn test並查看控制檯輸出的Maven + TestNG的打印參數的下一個文本「PASSED: theNameOfMyTest("A String Attribute")」的代碼,就會產生這個例子會是這個樣子:的@dataProvider

import static org.testng.Assert.assertTrue; 

public class TestClass { 

    @DataProvider(name = "provider") 
    public static Object[][] provider() { 
     return new Object[][] {{"A String Attribute"}}; 
    } 

    @Test(dataProvioder="provider") 
    public void theNameOfMyTest(final String parameter) { 
     assertTrue(true); 
    } 

} 

回答

2

您可以使用自己的Listener這將顯示預期的信息。然後,配置萬無一失使用它:https://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html

public class MyTestListener extends TestListenerAdapter { 

    @Override 
    public void onTestFailure(ITestResult tr) { 
    log("FAIL: ", tr); 
    } 

    @Override 
    public void onTestSkipped(ITestResult tr) { 
    log("SKIPPED: ", tr); 
    } 

    @Override 
    public void onTestSuccess(ITestResult tr) { 
    log("PASSED: ", tr); 
    } 

    private static void log(String prefix, ITestResult tr) { 
    System.out.println(prefix + tr.getName() + "(" + Arrays.asList(tr.getParameters()) + ")"); 
    } 
} 

在你pom.xml

[...] 
<plugins> 
    [...] 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <configuration> 
      <properties> 
      <property> 
       <name>listener</name> 
       <value>MyTestListener</value> 
      </property> 
      </properties> 
     </configuration> 
     </plugin> 
    [...] 
</plugins> 
[...] 
+0

@Ordiel這是否爲你,一定要張貼大於參考更完整的解決方案 - 爲後人 –

+0

@BorisStrandjev我剛剛添加了一個示例 – juherr