내가 보려고 만든 간단한 Unit Test 개념

김형준·2023년 11월 22일
0

iOS

목록 보기
3/5

Unit Test : 작성한 코드들이 프로그래머 의도대로 동작하는지 확인하는 작은 단위의 테스트

Unit Test 의 핵심 → FIRST

  1. Fast - 빠른 속도로 테스트를 수행해야 한다
  2. Independent - 각 테스트가 독립적으로 실행해야 한다
  3. Repeatable- 반복적으로 실행해야 한다. 동일한 입력값과 동일한 결과값으로 테스트 신뢰성을 높일 수 있다.
  4. Self-Automation- 모든 과정이 자동으로 처리해야 한다. 시간과 비용을 절약하고, 쉽게 버그를 찾을 수 있다.
  5. Timely - 시점에 맞게 테스트를 실행해야 한다. 코드 수정 후에 변경사항을 빠르게 테스트 할 수 있다.

XCTest - 실제 유닛 테스트를 제공하는 프레임워크, Independent를 위해 메서드를 제공한다.
XCTestCase - XCTest 하위클래스이자, 테스트를 위한 가장 기본 클래스.

Unit Test를 위한 메서드 Naming은 반드시 test로 시작해야한다.
Unit Test를 위한 기본 포맷은 Given - When - Then 구조로 작성해야한다
Unit Test에 필요한 value를 Given하여, 필요한 When에 따라서 테스트 실행하고, Then 결과를 확인한다.

  1. setUpWithError() :초기화 코드를 작성하는 함수로 클래스의 각 테스트 함수의 호출 전에 호출되는 함수다.정의하는 역할
  2. tearDownWithError() :해체 코드를 작성하는 함수로 각 테스트 함수의 호출 후에 호출되는 함수다. 정의한 것을 해제하는 역할
  3. testExample() :테스트 케이스를 작성하는 함수로 테스트가 올바른 결과를 생성하는지 확인하는 함수다.
  4. testPerformanceExample() :성능 테스트 케이스를 작성하는 함수로 시간을 측정하는 코드를 작성하는 함수다.

XCTest 전체 메서드들의 동작 순서

추후 더 공부 할 예정입니다🫠

참고
https://ios-daniel-yang.tistory.com/63
https://silver-g-0114.tistory.com/142
https://leeari95.tistory.com/60
https://sujinnaljin.medium.com/swift-mock-을-이용한-network-unit-test-하기-a69570defb41
https://zeddios.tistory.com/48

profile
기억보단 기록, 느리더라도 꾸준히

0개의 댓글