Kotlin

    MockitoJUnitRunner 사용해 Mockito 코드 깔끔하게 만들기 : @Mock

    MockitoJUnitRunner 사용해 Mockito 코드 깔끔하게 만들기 : @Mock

    이전 테스트 이전 시간에 다음과 같은 테스트를 작성했다. setUp에서 Mockito.mock 메서드를 사용해 loginRepository를 Mock 객체로 초기화 시켰는데, 여기서는 LoginUseCase에 대한 의존성이 하나만 있어서 한 줄로 Mocking이 끝났다. class LoginUseCaseTest { private lateinit var loginUseCase: LoginUseCase private lateinit var loginRepository: LoginRepository @Before fun setUp() { loginRepository = Mockito.mock(LoginRepository::class.java) loginUseCase = LoginUseCase(loginRepo..

    [Unit Testing] Mockito 사용해 Test Double 만들기

    [Unit Testing] Mockito 사용해 Test Double 만들기

    이번 시간에는 Mockito를 사용해 Test Double을 만드는 방법을 살펴볼 것이다. Mockito를 사용하기 위한 환경 설정부터 시작하자. 환경설정 이전 글까지는 junit:junit:4.13.2 만으로 테스트가 가능했지만, 이번 글에서는 Mockito를 사용하므로 하나의 Dependency를 추가해야 한다. 바로 'org.mockito:mockito-inline:3.3.3' 이다. Kotlin을 사용한다면 mockito-inline을 추가해 주는 것이 좋다. dependencies { ... testImplementation 'junit:junit:4.13.2' testImplementation 'org.mockito.kotlin:mockito-kotlin:4.1.0' } 추가했으면 Load G..

    Kotlin에서 사용할 수 있는 JUnit assert 종류 알아보기 : assertEquals, assertTrue, assertThrows, assertNotNull

    Kotlin에서 사용할 수 있는 JUnit assert 종류 알아보기 : assertEquals, assertTrue, assertThrows, assertNotNull

    이 글을 쓰게 된 이유 Java의 JUnit을 기반으로 문서들을 보다보니, Java의 assert와 Kotlin의 assert가 다른 것들을 알게 되었다. 예를 들어 Java에서 asserThat을 사용해 동일성을 테스트 하려면 다음과 같이 작성해야 한다. assertThat("a", is("a")) 하지만 이를 Kotlin의 assert로 바꾸면 다음과 같이 된다. assertEquals("a","a") 이러한 차이가 여러개 있다 보니 Unit Testing을 알아보는데 방해가 되어서 이번 글에서 정리하고 넘어가고자 한다. Kotlin의 assert Kotlin에는 다양한 assert가 있다. 그 중 자주 사용되는 것은 assertEquals, assertNotEquals, Assert.assertTr..

    @Before Annotation 사용해 테스트 환경 설정하기

    @Before Annotation 사용해 테스트 환경 설정하기

    이전 테스트와 문제점 이전에 MinuteValidatorTest에서 두가지 테스트를 진행했고 MinuteValidator을 다음과 같이 테스트 내부에서 초기화했다. internal class MinuteValidatorTest { @Test fun testMinuteValidator() { val minuteValidator = MinuteValidator() assertEquals(minuteValidator.isValid(30), true) } } internal class MinuteValidatorTest { @Test fun testMinuteValidator() { val minuteValidator = MinuteValidator() assertEquals(minuteValidator.isV..