将TestNG作为ant任务运行会导致错误

时间:2010-10-29 17:45:16

标签: java ant testng

虽然我试图从ant运行TestNG作为'testng'任务,但我的行为很奇怪。 TestNG不会在@BeforeSuite方法中创建类实例,而在@Test方法中的子类中我会得到NullPointerException。例如。

public class TestBase {
    Page mainPage;

    @BeforeSuite
    public void login() {
        ...
        mainPage = new MainPage();
        ...
    }
}

public class Test_1 extends TestBase {
    @Test
    public void test1() {
        AlbumPage albumPage = mainPage.openAP(); //<-- here i get NullPointerException!
        ...
    }
}

如果使用ant - stacktrace运行TestNG,那么我只能 当它尝试使用来自TestNG lib的“taskdef”创建任务时,会在ant类的某个地方显示起源。 那么,这里的问题是什么?这是一个错误还是我做错了什么?

2 个答案:

答案 0 :(得分:0)

你可能在调用或定义ant任务的方式上做错了。

你的build.xml是什么?什么是堆栈跟踪?

答案 1 :(得分:0)

知道了。问题出在@BeforeTest方法中。它不是在每个@Test mehod之前调用,而是仅在第一个标记之前调用。如果我们在一个套件中进行所有测试 - 结果是可预测的。