我们正在尝试自动化测试用例并行运行。为此,我们使用Testng注释,如@test,@ before method和@data provider。我们面临的问题是,对于所有@test @before方法都在运行,但只有具有@data提供程序的测试才会在@dataprovider之后运行。这就是问题
我们的代码看起来像这样
Class Test()
{
Public Test()
{
// code
}
@Beforemethod
Public BeforeTest(){
//Initializing an object for a class where all methods in which we are running in the @Test methods
}
@Dataprovider
Public Dataprovider()
{
//code
}
@Aftermethod
Public Aftermethod()
{
Null the object created in the @before method
}
@Test
Public test1(){
//code
}
@Test(groups={"tests_verifyDataEntryScenarios"},enabled=true, dataProvider = “name”)
Public Test2()
{
//code
}
问题来自'@Test test2()',因为它有数据提供者,而不是先在方法之前调用它首先调用数据提供者,但@dataprovider中使用的对象在@before方法中初始化,作为数据提供者首先为test2调用它会抛出Null指针异常。有没有办法在@Dataprovider之前调用'@beforemethod'。