Unit test에 대해서
Xcode의 Unit test를 통해서 앱의 확장 등 기능 변경을 단위 별로 테스트할 수 있다. Unit test를 하는 이유는 앱의 어떠한 변화라도 미리 체크해보고 버그를 미연에 방지할 수 있기 때문이다.
Unit test를 추가하는 방법
- 프로젝트를 처음 만들 때 Unit test를 포함하는 방법
- 프로젝트를 만든 후 프로젝트 네비게이터에서 command + 6 를 누르고 왼쪽 하단의 New Unit Test Target…으로 추가하는 방법

Unit test의 본격적인 사용 방법
메인 뷰 컨트롤러에 두 수를 빼는 메소드가 있다고 가정한다.
class ViewController: UIViewController {
var firstNum: Int!
var secondNum: Int!
func subtract(from: Int, this: Int) -> Int {
return from - this
}
}
이 메소드를 테스트 하기 위해서 다음과 같이 설정한다.
import XCTest
@testable import UnitTestPrac
class UnitTestPracTests: XCTestCase {
var testObject: ViewController!
override func setUp() {
super.setUp()
// 테스트 준비
testObject = ViewController()
}
override func tearDown() {
testObject = nil
// 테스트 종료
super.tearDown()
}
func testCalculation() {
// Given
testObject.firstNum = 3
testObject.secondNum = 10
// When
let result = testObject.subtract(from: testObject.firstNum, this: testObject.secondNum)
// Then
XCTAssertEqual(result, -7, "계산 실패")
}
}
다음과 같은 경우 XCTAssertEqual 메소드에서 result와 내가 예상한 -7이 일치하기 때문에 테스트가 통과된다.
만약 result와 내가 예상한 값이 일치하지 않는 경우 미리 입력해둔 "계산 실패"가 출력되어 나름대로의 방법으로 디버깅을 시도하면 된다.
성공시

실패시
