Add a class-based DataProvider
This commit is contained in:
parent
cd3ee2ae7e
commit
42f78bdb3a
|
|
@ -104,6 +104,42 @@ public class ExampleToCopyUnitTest extends BaseTest {
|
||||||
Assert.assertTrue(size >= 0);
|
Assert.assertTrue(size >= 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DataProvider example using a class-based data structure
|
||||||
|
*/
|
||||||
|
private class MyDataProviderClass extends TestDataProvider {
|
||||||
|
private int start;
|
||||||
|
private int size;
|
||||||
|
|
||||||
|
private MyDataProviderClass(int start, int size) {
|
||||||
|
super(MyDataProviderClass.class);
|
||||||
|
this.start = start;
|
||||||
|
this.size = size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@DataProvider(name = "MyClassBasedDataProvider")
|
||||||
|
public Object[][] makeMyDataProviderClass() {
|
||||||
|
// this functionality can be adapted to provide input data for whatever you might want in your data
|
||||||
|
for ( final int start : Arrays.asList(1, 10, 100) ) {
|
||||||
|
for ( final int size : Arrays.asList(1, 10, 100, 1000) ) {
|
||||||
|
new MyDataProviderClass(start, size);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return TestDataProvider.getTests(MyDataProviderClass.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Example testng test using MyClassBasedDataProvider
|
||||||
|
*/
|
||||||
|
@Test(dataProvider = "MyClassBasedDataProvider")
|
||||||
|
public void testMyDataProviderClass(MyDataProviderClass testSpec) {
|
||||||
|
// adaptor this code to do whatever testing you want given the arguments start and size
|
||||||
|
Assert.assertTrue(testSpec.start >= 0);
|
||||||
|
Assert.assertTrue(testSpec.size >= 0);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A unit test that creates an artificial read for testing some code that uses reads
|
* A unit test that creates an artificial read for testing some code that uses reads
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue