运行TestNG测试实例

时间:2012-03-20 15:58:56

标签: java testing testng

我想以编程方式运行TestNG测试的实例。 我的测试是这样的:

public class MyTest {
    private Browser browser;
    private User user;

    public MyTest(Browser browser, User user) {
        this.browser = browser;
        this.user = user;
    }

    @Test public void testExample() {
        ...
    }
}

由于我的测试需要将一些对象传递给它的构造函数才能工作,所以我不能简单地提供测试类对象。所以这不起作用:

TestNG testng = new TestNG();
testng.setTestClasses(MyTest.class);
testng.run();

有关如何使用TestNG进行操作的任何想法?

2 个答案:

答案 0 :(得分:0)

您有几个选择:

  • 使用@Factory创建对象。
  • 使用TestNG's Guice support(@Guice注释)注入浏览器和用户对象。

你实际上可以将这两种方法结合在一起。

答案 1 :(得分:0)

您可以使用一个逻辑变量或方法来获取这些对象。但这只有在您不打算并行执行测试时才有效。

public class ExampleClass{

private static Browser browser;

public DriverContainer(Browser brows){
    browser = brows;
}

public static Browser getBrowser() {
    return browser;
}

可以在@BeforeSuite或@BeforeTest方法中的另一个测试类中创建ExampleClass。