반응형
* JUnit5 사용
* TestInfo 객체를 테스트에 주입 가능
1. 개별 테스트
@Test
fun givenNumbers_whenOddCheck_thenVerify1(testInfo: TestInfo) {
println("displayName = " + testInfo.displayName)
val number = 5
assertTrue(TestClass().oddCheck(number))
}
* 테스트 이름을 표시하기 위해 인터페이스 TestInfo의 displayName 프로퍼티를 사용
displayName = givenNumbers_whenOddCheck_thenVerify1(TestInfo)
2. Parameterized 테스트
var testInfo: TestInfo? = null
@BeforeEach
fun init(testInfo: TestInfo) {
this.testInfo = testInfo
}
@ParameterizedTest(name = "givenNumbers_whenOddCheck_thenVerify{0}")
@ValueSource(ints =[1, 3, 5, -3, 15])
fun givenNumbers_whenOddCheck_thenVerify2(number: Int) {
println("displayName = " + testInfo!!.displayName)
assertTrue(TestClass().oddCheck(number))
}
* 개별 테스트와는 달리 TestInfo 객체를 함수에 주입할수 없음
* 문제를 해결하기 위해 beforeEach 기능을 사용해서 클래스 필드에 TestInfo를 설정 해야함
displayName = givenNumbers_whenOddCheck_thenVerify1
displayName = givenNumbers_whenOddCheck_thenVerify3
displayName = givenNumbers_whenOddCheck_thenVerify5
displayName = givenNumbers_whenOddCheck_thenVerify-3
displayName = givenNumbers_whenOddCheck_thenVerify15
소스코드
출처
* https://www.baeldung.com/junit-get-name-of-currently-executing-test
반응형
'IT > TDD & Test' 카테고리의 다른 글
[JUnit] 파일 & 리소스 (/src/test/resources) 가져오기 (0) | 2022.08.01 |
---|---|
[JUnit] Dynamic Tests (0) | 2022.07.30 |
[JUnit] 객체 타입 체크 (0) | 2022.07.26 |
RestClientTest를 알아보자~ (0) | 2021.03.27 |
Controller Test를 해보자~! (0) | 2021.03.21 |