雖然我試圖從螞蟻運行TestNG作爲'testng'任務,我收到了奇怪的行爲。 TestNG不會在@BeforeSuite方法和@Test方法的子類中創建類實例,我會得到NullPointerException。例如。運行TestNG作爲一個螞蟻任務導致錯誤
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!
...
}
}
這種行爲我得到只有如果使用螞蟻運行TestNG的 - 錯誤的堆棧跟蹤顯示淵源極深某處蟻類的時候,它會使用「的taskdef」從TestNG的LIB創建任務。 那麼,這裏有什麼問題?這是一個錯誤還是我做錯了什麼?
不,請按照http://testng.org/doc/ant.html中所述完成所有操作。當我不將實例從父類傳遞給同級時,它工作正常,在Test_1類中實例化MainPage。 – endarkened 2010-10-30 05:28:01
問題可能在於,TestNG創建兩個不同的實例:TestBase調用@BeforeSuite,另一個Test_1執行@Test - 我看到的唯一解釋。作爲一個框架的開發者向你提問。 – endarkened 2010-10-30 05:32:56