TestNG:我如何在命令行上输入java方法的参数?

时间:2015-11-27 07:36:52

标签: java command-line terminal testng

我有测试脚本,如:

public class AppTest {
    @Test
    public void print(String strInput)
    {
        System.out.println("String: " + strInput);
    }
}

和Testng.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Default suite">
  <test verbose="2" name="Default test">
    <classes>
      <class name="Test.printTest.AppTest"/>
    </classes>
  </test> <!-- Default test -->
</suite> <!-- Default suite -->

如何在命令行而不是在testng.xm上放置参数?

1 个答案:

答案 0 :(得分:0)

您可以创建一个data provider来查找系统属性中的属性:

public class AppTest {

  @DataProvider
  public static Object[][] dp() {
    String input = System.getProperty("input");
    return new Object[][] {
      new Object[] { input }
    }
  }

  @Test(dataProvider="dp")
  public void print(String strInput) {
      System.out.println("String: " + strInput);
  }
}

然后,您只需通过在命令行中添加-Dinput="HelloWorld param来运行它。