Java 运行TestNG测试实例
我希望以编程方式运行TestNG test的实例。 我的测试是这样的:Java 运行TestNG测试实例,java,testing,testng,Java,Testing,Testng,我希望以编程方式运行TestNG test的实例。 我的测试是这样的: public class MyTest { private Browser browser; private User user; public MyTest(Browser browser, User user) { this.browser = browser; this.user = user; } @Test public void test
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的想法?您有两个选择:
- 使用@Factory创建对象
- 使用(@Guice注释)插入浏览器和用户对象
实际上,您可以同时使用这两种方法。您可以使用stactic变量或方法来获取这些对象。但只有当您不计划并行执行测试时,这才有效
public class ExampleClass{
private static Browser browser;
public DriverContainer(Browser brows){
browser = brows;
}
public static Browser getBrowser() {
return browser;
}
ExampleClass可以在@BeforeSuite或@BeforeTest方法中的另一个测试类中创建。在Eclipse或Ant中不这样做有什么原因吗?对于这些情况,我不确定在Eclipse或Ant中这样做意味着什么。但是,请记住,我需要作为参数传递到此测试的对象是先前计算的结果。