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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue