Unit Testing
Unit Testing은 Unit 과 Testing이 합쳐진 단어이다. 따라서 Unit Testing에 대해 논하기 위해서는 Unit과 Testing 각각이 무엇을 의미하는지 알아야 한다.
Unit
Unit 이란 기능들을 저장하는 컨테이너이다. Unit은 특정한 책임을 가지고, 명확히 정의된 역할의 범위를 가진다. 즉, 객체 지향 프로그래밍(OOP) 에서는 객체가 Unit의 후보가 되며, Kotlin과 Java에서는 class가 Unit이 될 수 있다.
하지만 모든 객체가 Unit은 아니다. 이유는 데이터를 저장하기만 하고, 동작(기능)이 없는 객체는 Unit이 아니기 때문이다. 예를 들어 Kotlin의 Data Class나 Java의 POJO의 경우 데이터를 저장하는 역할만 하므로 Unit이 아니다.
Testing
Testing이란 정의된 기능이 제대로 동작하는지 확인하는 것이다.
Unit Testing이란 무엇인가?
즉, Unit Testing이란 Unit(기능을 저장하는 컨테이너)의 함수를 호출 했을 때 동작이 예상된대로 수행되는지를 테스트 하는 것이다.
Java, Kotlin에서는 Unit Testing을 객체의 동작을 테스트 하는 것의 의미로 쓰인다.
위의 그림에 Assert라는 단어가 나와있는데, Testing을 접해보지 않았다면 익숙하지 않을 것이다. Assert는 보통 예상되는 결과를 확인하기 위해 쓴다. 한국어로 Assert는 주장하다 라는 뜻이고, 함수의 실행 결과가 특정한 값 혹은 임을 주장하기 위해서 사용된다. Java, Kotlin을 위한 Unit Testing Framework인 JUnit에서도 assert를 자주 사용한다.
'Unit Testing' 카테고리의 다른 글
IntelliJ, Android Studio에서 Test Coverage 확인과 Test Coverage의 한계점 (0) | 2022.12.15 |
---|---|
IntelliJ, Android Studio에서 Test 결과를 시각적으로 확인하는 방법 : Gradle 사용 (0) | 2022.12.14 |
Command Line에서 Test 실행하기 : Gradle Task 활용하기 (0) | 2022.12.13 |
@Before Annotation 사용해 테스트 환경 설정하기 (0) | 2022.12.12 |
Unit Test 환경 설정하기 : JUnit 환경 설정 하고 테스트 해보기 (0) | 2022.12.11 |