Parameterized testing
Figure 328. CSV parameter testing
@ParameterizedTest @CsvSource(textBlock = """ 1, false 2, true 3, true 4, false """) public void testPrimes(int primeCandidate, boolean expected) { Assertions.assertEquals(expected, Prime.isPrime(primeCandidate)); }
mvn test ─ de.hdm_stuttgart.mi.sd1.PrimeTest - 0.098 s
├─ ✔ testPrimes(int, boolean)[1] 1, false - 0.035 s
├─ ✔ testPrimes(int, boolean)[2] 2, true - 0.001 s
├─ ✔ testPrimes(int, boolean)[3] 3, true - 0.001 s
└─ ✔ testPrimes(int, boolean)[4] 4, false - 0.001 sFigure 329. CSV parameter file based testing
@ParameterizedTest @CsvFileSource(resources = "/primes.csv") public void testPrimesByFile (int primeCandidate, boolean expected) { Assertions.assertEquals( expected ,Prime.isPrime(primeCandidate)); } |
File test/resources/primes.csv: 1, false 2, true 3, true 4, false |
mvn test ─ de.hdm_stuttgart.mi.sd1.PrimeTest - 0.098 s
├─ ✔ testPrimesByFile(int, boolean)[1] 1, false - 0.031 s
├─ ✔ testPrimesByFile(int, boolean)[2] 2, true - 0.001 s
├─ ✔ testPrimesByFile(int, boolean)[3] 3, true - 0.001 s
└─ ✔ testPrimesByFile(int, boolean)[4] 4, false - 0.001 s