단위 테스트(Unit Testing)는 소프트웨어 개발에서 개별 구성 요소나 모듈의 기능을 검증하는 테스트를 의미합니다. 단위 테스트는 코드의 특정 단위(일반적으로 함수 또는 메서드)를 독립적으로 테스트하여, 해당 단위가 올바르게 작동하는지 확인할 수 있습니다.
TDD는 소프트웨어 개발 방법론으로, 코드를 작성하기 전에 먼저 테스트를 작성하는 접근 방식입니다. TDD는 테스트를 기반으로 개발을 진행하며, 개발자가 작성한 코드가 요구 사항을 충족하는지 검증합니다.
프로세스
이 과정을 반복하여 점진적으로 코드를 완성해 나갑니다.
단위 테스트는 TDD의 핵심 요소이며, TDD는 단위 테스트를 작성하는 접근 방식을 체계화한 것입니다.
Create and run unit tests, performance tests, and UI tests for your Xcode project.
테스트 케이스 (Test Case):
XCTest의 기본 단위입니다.
테스트 케이스 클래스는 XCTestCase를 상속받아야 합니다.
테스트 메서드는 test라는 접두어로 시작해야 합니다.
테스트 메서드 (Test Method):
test 접두어로 시작하며, 각각의 메서드는 독립적인 테스트를 수행합니다.
각 테스트 메서드는 기대한 결과와 실제 결과를 비교하여 테스트가 통과했는지 여부를 확인합니다.
Assertions:
XCTAssert 함수를 사용하여 기대한 결과와 실제 결과를 비교합니다.
다양한 assertion 메서드가 제공됩니다.
Assertions:
XCTAssertEqual
: 두 값이 같은지 확인합니다.XCTAssertTrue
: 값이 참인지 확인합니다.XCTAssertFalse
: 값이 거짓인지 확인합니다.XCTAssertNil
: 값이 nil인지 확인합니다.XCTAssertNotNil
: 값이 nil이 아닌지 확인합니다.Setup and Teardown:
setUp()
: 각 테스트 메서드가 호출되기 전에 실행됩니다. 테스트 환경을 설정합니다.tearDown()
: 각 테스트 메서드가 호출된 후에 실행됩니다. 테스트 환경을 정리합니다.Performance Testing:
measure()
: 코드 블록의 실행 시간을 측정하여 성능을 테스트합니다.UI Testing:
XCUITestCase
: 사용자 인터페이스를 자동으로 테스트하기 위한 기능을 제공합니다.