TestNG下DateProvider使用

@DateProvider可以用来做数据驱动,数据源文件可以是Excel,XML也可以是TXT文本。

1.DataProvider与Test方法在同一个class中

Demo:

1
2
3
4
5
6
7
8
9
10
11
12
13
public class TestNGDemo {
// DataProvide 作为数据提供者,提供几组数组,则引用他的test方法就会执行几次
@DataProvider(name = "myData")
public Object[][] DataPrObjects() {
Object[][] obj = new Object[][] { { "a1", "a2" }, { "b1", "b2" }, { "c1", "c2" } };
return obj;
}

@Test(dataProvider = "myData")
public void TestDataProvider(String data1, String data2) {
System.out.println("->" + data1 + ":" + data2);
}
}

运行结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[RemoteTestNG] detected TestNG version 6.11.0
->a1:a2
->b1:b2
->c1:c2
PASSED: TestDataProvider("a1", "a2")
PASSED: TestDataProvider("b1", "b2")
PASSED: TestDataProvider("c1", "c2")

===============================================
Default test
Tests run: 3, Failures: 0, Skips: 0
===============================================


===============================================
Default suite
Total tests run: 3, Failures: 0, Skips: 0
===============================================

2.DataProvider与Test方法不在同一个class中

1
2
3
4
5
6
7
8
public class TestNGDemoNew {
//在这个class中引用DataPro中的@DataProvider
//dataProviderClass填写@DataProvider所在类的全限定类名
@Test(dataProvider = "myData",dataProviderClass = com.TestNGDemo.class)
public void TestDataProvider(String data1,String data2) {
System.out.println("->"+data1+":"+data2);
}
}

运行结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[RemoteTestNG] detected TestNG version 6.11.0
->a1:a2
->b1:b2
->c1:c2
PASSED: TestDataProvider("a1", "a2")
PASSED: TestDataProvider("b1", "b2")
PASSED: TestDataProvider("c1", "c2")

===============================================
Default test
Tests run: 3, Failures: 0, Skips: 0
===============================================


===============================================
Default suite
Total tests run: 3, Failures: 0, Skips: 0
===============================================

TestNG下DateProvider使用
https://skynetboys.github.io/2020/10/29/TestNG下DateProvider使用/
Author
Edison
Posted on
October 29, 2020
Licensed under