Swift

11. Unit Test(1)

Daesiker 2022. 12. 9. 16:00
반응형

Unit Test란?

유닛 테스트(unit test)는 컴퓨터 프로그래밍에서 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차이다.

즉, 모든 함수와 메서드에 대한 테스트 케이스를 작성하는 절차를 말한다. 이를 통해서 언제라도 코드 변경으로 인해 문제가 발생할 경우, 단시간 내에 이를 파악하고 바로 잡을 수 있도록 해준다.

유닛 테스트는 일반적인 테스트와 달리 개발자뿐만 아니라 보다 더 심도있는 테스트를 위해 테스터에 의해 수행되기도 한다.

좋은 Unit Test의 조건

  • Fast : 테스트는 빠르게 동작해야 한다.
  • Independent/Isolated : 테스트는 서로의 상태를 공유하지 않고 독립적으로 이루어져야 한다.
  • Repeatable : 테스트를 실행할 때 마다 동일한 결과를 얻어야한다.
  • Self-validating : 테스트는 완전히 자동화 되어야하고, 출력은 프로그래머의 해석에 의존하지 않고 “통과” 혹은 “실패”이어야 한다.
  • Timely : 실제로 적용하기 전에 테스트를 작성하고 코드를 적용해야한다.

xCode에서의 Unit Test

  • 프로젝트 생성하기 전 Unit Test 만들기
  • “Include Tests” 체크박스 체크 후 프로젝트 생성

  • 프로젝트 생성한 후 Unit Test 만들기
    1. 프로젝트 설정에 들어가서 1번 항목의 “+” 버튼 클릭
    2. iOS 섹션에 Unit Testing Bundle 추가

‼️xcode 14.0 + 인경우 에러가 발생하는 경우가 있는데 우측 Project Documnet에서 Format을 Xcode 13.0으로 변경해야 한다.

Unit Test 초기 화면

  • func setUpWithError() : 테스트를 시작하기 전에 호출하는 메서드로 초기 설정을 하는 구간이다. 설정을 하는 중에 오류가 발생하면 throw해준다.
  • func tearDownWithError() : 테스트를 마친 후 호출되는 메서드로 해당 구문을 실행하고 오류가 발생하면 throw해준다.
  • func measure(_ block: () → Void) : 해당 블록의 성능을 측정해준다.
참조

https://www.kodeco.com/21020457-ios-unit-testing-and-ui-testing-tutorial
https://zeddios.tistory.com/48

반응형

'Swift' 카테고리의 다른 글

13. Unit Test(3)  (0) 2022.12.23
12. Unit Test(2)  (0) 2022.12.16
10. 멀티 스레딩과 GCD  (0) 2022.12.04
9. 프로세스와 스레드  (0) 2022.08.25
8. [Swift] App’s Life Cycle(앱 생명주기)  (0) 2022.08.17