0Pricing
Swift Academy · 강의

XCTAssert 계열과 오류 발생 검증

XCTAssertEqual, XCTAssertThrowsError 및 XCTUnwrap을 안전하게 사용합니다.

XCTAssert 계열과 오류 발생 검증은(는) CoddyKit의 무료 Swift Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Swift Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

XCTAssert와 XCTAssertTrue

조건이 거짓이면 XCTAssert와 XCTAssertTrue가 실패합니다.

XCTAssert(user.isLoggedIn)
XCTAssertTrue(cart.isEmpty, "Cart should be empty after clear()")

XCTAssertFalse

조건이 참이면 XCTAssertFalse가 실패합니다.

XCTAssertFalse(session.isExpired, "Fresh session should not be expired")

XCTAssertEqual

두 값이 같지 않으면 XCTAssertEqual이 실패합니다. 두 값 모두 Equatable이어야 합니다.

XCTAssertEqual(calculator.add(2, 3), 5)
XCTAssertEqual(user.name, "Alice", "Name should match the fixture")

XCTAssertNotEqual

두 값이 같으면 XCTAssertNotEqual이 실패합니다.

XCTAssertNotEqual(originalHash, updatedHash)

XCTAssertNil과 XCTAssertNotNil

옵셔널을 테스트합니다. 각각 값이 nil이 아니거나 nil이면 실패합니다.

XCTAssertNil(service.error, "No error expected after successful fetch")
XCTAssertNotNil(result, "Result should be non-nil on success")

XCTAssertThrowsError

표현식이 오류를 던지지 않으면 실패합니다. 선택적으로 던져진 오류를 검사할 수도 있습니다.

XCTAssertThrowsError(try parser.parse("invalid json")) { error in
  XCTAssertEqual(error as? ParseError, .invalidInput)
}

XCTAssertNoThrow

표현식이 오류를 던지면 실패합니다.

XCTAssertNoThrow(try parser.parse(validJSON))

XCTUnwrap

XCTUnwrap은 옵셔널의 래핑을 해제하며, 값이 nil이면 테스트를 실패시킵니다. guard let과 XCTFail을 함께 사용하는 것보다 깔끔합니다.

let user = try XCTUnwrap(service.currentUser)
XCTAssertEqual(user.name, "Bob")

정확도를 지정한 XCTAssertEqual

부동 소수점 비교에서는 정밀도 차이를 고려하도록 정확도 값을 지정합니다.

XCTAssertEqual(result, 3.14159, accuracy: 0.0001)

사용자 지정 실패 메시지

모든 XCTAssert 함수는 더 명확한 실패 출력을 위해 선택적 메시지 매개변수를 받습니다.

XCTAssertEqual(items.count, 3, "Expected 3 items after insert, got \(items.count)")

XCTExpectFailure

예상된 실패를 표시하면 CI에서 성공으로 보고됩니다. 알려져 있지만 아직 수정되지 않은 버그에 유용합니다.

XCTExpectFailure("Known issue: rdar://12345") {
  XCTAssertEqual(brokenFunction(), expectedValue)
}

빠른 확인

옵셔널의 래핑을 안전하게 해제하고 값이 nil이면 테스트를 실패시키는 XCTest 함수는 무엇입니까?

단원 요약

XCTest 어설션 모음에는 XCTAssert/True/False, XCTAssertEqual/NotEqual, XCTAssertNil/NotNil, XCTAssertThrowsError/NoThrow, XCTUnwrap이 있습니다. 항상 설명적인 메시지를 추가합니다. 추적 중인 알려진 실패에는 XCTExpectFailure를 사용합니다.

자주 묻는 질문

“XCTAssert 계열과 오류 발생 검증” 강의는 무료인가요?

네 — “XCTAssert 계열과 오류 발생 검증” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Swift Academy 강의 전체를 잠금 해제할 수 있습니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“XCTAssert 계열과 오류 발생 검증”에서 뭘 배우나요?

XCTAssertEqual, XCTAssertThrowsError 및 XCTUnwrap을 안전하게 사용합니다. 브라우저에서 직접 실행하는 실습 코드로 Swift Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Swift Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Swift Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“XCTAssert 계열과 오류 발생 검증” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Swift Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Swift Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. XCTestCase 설정, 해제 및 테스트 메서드
  2. XCTAssert 계열과 오류 발생 검증
  3. 프로토콜 기반 모킹과 의존성 주입
  4. 비동기 테스트와 성능 측정
← Swift Academy(으)로 돌아가기