Java 在testng中使用dataprovider提供数据时按顺序运行测试
我使用数据提供者向测试提供数据。测试类有3个测试。我希望对数据提供者提供的每个数据实例按顺序运行这三个测试。我尝试了下面的方法,但它对数据提供程序提供的所有数据运行testOne,然后是Test2和Test3Java 在testng中使用dataprovider提供数据时按顺序运行测试,java,testng,dataprovider,Java,Testng,Dataprovider,我使用数据提供者向测试提供数据。测试类有3个测试。我希望对数据提供者提供的每个数据实例按顺序运行这三个测试。我尝试了下面的方法,但它对数据提供程序提供的所有数据运行testOne,然后是Test2和Test3 public class TestClass{ @Test(@dataProvider = "getData") public void testOne(){ //Test case logic } @Test(@dataProvi
public class TestClass{
@Test(@dataProvider = "getData")
public void testOne(){
//Test case logic
}
@Test(@dataProvider = "getData")
public void testTwo(){
//Test case logic
}
@Test(@dataProvider = "getData")
public void testThree(){
//Test case logic
}
@DataProvider
public Object[][] getData() {
//data provider code
}
}
有谁能告诉我如何对数据提供程序提供的数据实例运行这三个测试,然后对下一个数据实例运行这三个测试,依此类推
谢谢这样就可以了:
public class TestClass {
@Test(dataProvider = "getData")
public void allTests() {
testOne();
testTwo();
testThree();
}
private void testOne(){
//Test case logic
}
private void testTwo(){
//Test case logic
}
public void testThree(){
//Test case logic
}
@DataProvider
public Object[][] getData() {
//data provider code
}
}
如果必须依赖方法和测试数据调用顺序,我认为单元测试是错误的。你能解释一下为什么需要这样的限制吗?嗨,Gedrox.我不是为了单元测试而尝试这个。我们正在尝试在UI级别进行功能测试。每个测试在前端测试特定场景。每个测试都涉及打开一个浏览器实例。我们不想为所有测试打开浏览器实例,因为这会导致测试执行时间延迟。也许这个问题有帮助。