본문 바로가기

JUnit53

[Java] JUnit5 테스트 JUnit5 JUnit5는 JUnit Platform, JUnit Jupiter, JUnit Vintage 모듈로 구성된다. JUnit Platform JVM 기반 테스팅 프레임워크 실행을 위한 기반 모듈. 플랫폼에서 실행되는 테스트 프레임워크 개발을 위한 TestEngine API를 정의(인터페이스). JUnit4 기반 환경의 플랫폼에서 TestEngine을 실행하기 위한 JUnit4 기반 Runner도 제공. JUnit Jupiter JUnit 5 버전에서 테스트 코드를 작성하기 위한 프로그래밍 모델, 확장 모델을 지원하는 모듈. 테스트 작성, 확장을 위한 JUnit Jupiter API(junit-jupiter-api)모듈과 테스트 실행을 위한 TestEngine 구현(junit-jupiter-en.. 2020. 12. 10.
[JUnit5] @ParameterizedTest @ParameterizedTest 어노테이션은 테스트 함수에 파라미터로 TC나 결과 등을 주입할 수 있다. // build.gradle.kts dependencies { // add testImplementation("org.junit.jupiter:junit-jupiter-params:5.5.2") } 의존성추가 private fun String?.toIntOrNull(): Int? { return if (this.isNullOrEmpty()) null else try { this.toInt() } catch (e: NumberFormatException) { null } } 테스트를 위와 같은 확장 함수를 하나 만들었다. 문자열이 null이거나 빈 경우 null을 반환하고 아닌 경우 문자열을 Int로.. 2019. 12. 15.
[JUnit5] @TestInstance TestInstance 는 테스트 인스턴스의 라이프 사이클을 설정할 때 사용한다. - PER_METHOD : test 함수 당 인스턴스가 생성된다. - PER_CLASS : test 클래스 당 인스턴스가 생성된다. @TestInstance(TestInstance.Lifecycle.PER_CLASS) class Test() { @BeforeAll fun setUp(){ println("setUp") } @AfterAll fun clean(){ println("clean") } @Test fun test() { } } 위와 같이 @TestInstance(TestInstance.Lifecycle.PER_CLASS) 어노테이션으로 라이프 사이클을 클래스 단위로 설정할 수 있다. 라이프 사이클을 클래스 단위로 지.. 2019. 12. 4.