본문 바로가기

테스트

(3)
[테스트] private 접근 지정자에 대한 유닛 테스트 개요 안드로이드 개발 중 유닛 테스트(Unit Test)를 수행하던 중 private 접근 지정자로 지정된 메소드는 테스트 중 외부에서 접근이 불가능하기 때문에 이를 어떻게 해야 하나 고민하다 여러 블로그 및 포스팅을 참고하여 정리한 게시글이다. TL;DR private이 지정된 메소드 대부분은 굳이 테스트하지 않아도 되지만 일부에 복잡한 로직에 한해서는 작성할 수 있다. Stack Overflow에 게시된 다양한 개발자들의 의견 이 private 메소드에 대한 테스팅은 유닛 테스트를 처음 시작하는 사람들이 처음 고민하는 관문인 것 같다. 마치 아래 포스팅과 같이. 아무래도 외부에서는 인스턴스의 private 함수/변수 등은 접근이 불가능하기 때문에 더 쉽게 만날 수 있는 고민이기도 하다. 이에 대한 사..
[테스트] Unit Test - 테스트의 검증 방법 개요 이번 포스팅은 Unit Test 과정에서의 검증 방법과 각종 용어에 대해 정리한다. 상태 검증과 행위 검증 테스트의 검증은 주로 상태 검증과 행위 검증으로 나뉜다. 상태 검증은 특정 메서드가 수행된 후 객체들의 상태를 검증하는 것이고, 행위 검증은 특정 메서드가 호출되었는지와 같은 행위를 검사한다. 상태 검증의 예 val abc = Abc() abc.increase() assertThat(abc.value).isEqualTo(10) 위에서는 abc 인스턴스의 value가 10과 같은지 상태를 검증한다. 행위 검증의 예 val abc = Abc() abc.increase() verify(abc, atLeastOnce()).increase() 위에서는 abc 인스턴스의 increase() 메서드가 최소..
[테스트] Unit Test - 기초 개념 및 작성 원칙 Unit Test(단위 테스트) Unit Test는 특정 함수나 소스코드 모듈이 의도된 대로 작동하는지 검증하기 검증하는 방법 중 하나이다. 기본적으로 특정 코드가 잘 작동하는 것을 검증하여 버그가 줄어들 뿐만 아니라 테스트 코드를 작성하면서 기존의 코드에 대한 개선점을 발견하여 더 좋은 코드를 작성할 수 있게 된다. Unit Test 작성 방법 하나의 테스트 케이스에서 최소한의 기능만 검증하고, 간결하게 작성한다. 입력에 대한 결과를 검증하는 방식으로 작성하라. 개발하는 부분 최대한을 커버하라. Third Party Library는 잘 검증되었으리라 믿고 Unit Test의 검증 대상에서 제외하라 클린 테스트 코드를 작성하기 위한 FIRST 원칙 Fast: 테스트는 빠르게 동작하여 자주 실행시킬 수 있..