본문 바로가기

test8

[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.
[Test] webClient 통신 테스트 (mockServer) // build.gradle plugins{ // add testImplementation("org.mock-server:mockserver-netty:5.7.2") } mockserver 의존성 추가 @TestInstance(TestInstance.Lifecycle.PER_CLASS) abstract class MockServerNettyHelper { companion object { val GSON = Gson() } private val host = "http://localhost" private val port = 8000 lateinit var mockServer: ClientAndServer @BeforeAll fun startMockServer() { // #1 mockServer = Cl.. 2019. 12. 8.
[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.
Spock 테스트 정리 Spock으로 테스트코드를 짜보자 (Spock)[http://kwonnam.pe.kr/wiki/java/spock] spock test 예시 when - then @SpringBootTest class apiServiceSpecTest extends Specification { @Autowired ApiService apiService int productNo = 100 int size = 100 def "getProductNames 테스트"() { when: List result = apiService.getProductNames(productNo, size) then: result[0] == "name1" } } expect expect = when + then def "getProductNames .. 2019. 5. 23.
[Kotlin][Mockito] IllegalStateException 에러 참고 원문 : Befriending Kotlin and Mockito Test Code @MockBean lateinit var memberService: MemberService @Test fun Test() { // .... Mockito.`when`(memberService.getMemberId(any(MemberRequest::class.java))) .thenReturn(0) } MemberRequest를 파라미터로 하고 memberId(Int 형)를 반환하는 getMemberId 함수를 테스트해보았다. memberService.getMemberId(any(MemberRequest::class.java)) 부분에서 에러. Error java.lang.IllegalStateException: an.. 2019. 3. 5.