필요성 : 값과 예상 결과의 컬렉션을 전달하여 동일한 테스트를 반복적으로 실행할 때 유용하다.
@ParameterizedTest(name ="value={0}, expected={1}") : 매개변수화된 테스트에는 @Test 대신 이 어노테이션을 붙여줘야 한다. name을 지정하여 테스트 실행시 테스트명을 설정할 수 있다. {0}은 csv 파일에서 구분자를 기준으로 좌측에 있는 값, {1}은 csv 파일에서 구분자를 기준으로 우측에 있는 값이다.
@CsvFileSource(resources = "path", delimiterString = "?") : 이 어노테이션을 통해 csv 파일을 로드할 수 있다. resources로 파일을 지정할 시에 test/resources 폴더안에 파일이 존재해야 한다. delimiterString으로 구분자를 지정할 수 있다.
@Order(1)
@ParameterizedTest(name = "value={0}, expected={1}")
@CsvFileSource(resources = "/small-test-data.csv", delimiterString = ",")
void testSmallDataFile(int value, String expected) {
//execute & assert
assertEquals(expected, FizzBuzz.compute(value));
}
1,1
2,2,
3,Fizz
4,4
5,Buzz
6,Fizz
...
'Spring Boot > testing' 카테고리의 다른 글
Mock을 통한 Throwing Exception (0) | 2024.11.11 |
---|---|
@MockBean & @SpyBean (0) | 2024.11.11 |
TDD(Test-Driven Development) (0) | 2024.11.11 |
조건부 테스트 in JUnit (0) | 2024.11.11 |
JaCoCO를 통한 코드 커버리지 리포트 생성 (0) | 2024.11.10 |