Unit tests best practices in Xcode and Swift
Unit Test를 작성하는 것은 앱 코드를 작성하는것 만큼 중요하다
Unit Test 는 기한이 짧을때 가장 먼저 건너뛰는 경우가 많지만 결국 프로젝트 속도가 느려질 수 있음.
프로젝트가 성장하고 대부분의 앱 로직을 다루기 위해서는 많은 Unit Test를 작성해야함.
코드 단위별로 Unit Test를 실행하여 유효성을 검사한 후 의도한 대로 동작하는지 확인하는 자동화된 테스트
/// A simple struct containing a list of users.
struct UsersViewModel {
let users: [String]
var hasUsers: Bool {
return !users.isEmpty
}
}
/// A test case to validate our logic inside the `UsersViewModel`.
final class UsersViewModelTests: XCTestCase {
/// It should correctly reflect whether it has users.
func testHasUsers() {
let viewModel = UsersViewModel(users: ["Antoine", "Jaap", "Lady"])
XCTAssertTrue(viewModel.hasUsers)
}
}
양질의 단위 테스트를 작성하기 위한 휼율한 출발점
아래 3가지 원칙을 통해 앱에 가장 필요한 테스트를 작성
앱 코드를 작성할 때와 마찬가지로 테스트를 위한 코드도 최선을 다해야함.
테스트를 작성할때 적용가능 범위가 100%가 되도록 하는 것을 목표로 해선 안됨
가장 중요한 비지니스 로직을 테스트 한다