Parameterized testing
Figure 320. 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 s
Figure 321. 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