data driven testing in junit
CUCUMBER / JUNIT:
1. Scenario outline
2. Excel file with the help of Apache POI
3. JSON or CSV file for API testing
4. Data which comes from Database and stores in collections
5. @ParameterizedTest --> If you use JUnit-5
Examples for ParameterizedTest:
@ParameterizedTest
@ValueSource(ints = {1,2,3,4}) ==> it can be
ints/strings/booleans/chars (those are keywords)
public void validateRegionNameTest1(int id) {
xxxxx
}
@ParameterizedTest
@CsvSource({
"1, Europe",
"2, Americas",
"3, Asia",
"4, Middle East and Africa"})
public void validateRegionNameTest2(int id, String name){
xxxx
}
@ParameterizedTest
@CsvFileSource(resources = "/regions.csv")
@ParameterizedTest(name = "{index} => a={0}, b={1}, sum={2}")
@MethodSource("sumProvider")
@ParameterizedTest(name = "{index} => pet=''{0}''")
@EnumSource(value = Pet.class, names = {"CAT"})
@ParameterizedTest(name = "{index} => a={0}, b={1}, sum={2}")
@ArgumentsSource(CustomArgumentProvider.class)