티스토리 뷰
안녕하세요 :) Zedd입니다.
Xcode 12.5 베타 릴리즈 노트에서 이제 XCTests는 테스트 실패를 "expected(예상)"으로 표시하는 것을 지원합니다.
라고 했는데요, 이때 사용하는 API가 XCTExpectedFailure입니다.
글을 꼭 끝까지 읽어주세요@!!
당연하게도 Xcode 12.5 beta가 있어야 사용이 가능합니다.
ㅎ
Xcode 12.5 베타 릴리즈 노트를 보며..추측하면서 해보겠습니다.
- XCTests는 테스트 실패를 / "expected(예상)"으로 표시하는 것을 지원합니다.
- expected 테스트 실패는 테스트가 포함된 suite의 전체합격/불합격 결과에 영향을 주지 않습니다.
단순히 XCTExpectFailure만 사용하는 건 안됩니다.
Zedd : 이 테스트는...실패 하겠구만...
이럴 때 XCTExpectedFailure를 사용해야합니다.
성공하는 Assert문이 있어도 안됩니다.
위에서 뭐라고 그랬죠!?
XCTests는 테스트 실패를 / "expected(예상)"으로 표시하는 것을 지원합니다.
기본적으로 XCTExpectFailure가 호출되었지만,
테스트에서 실패를 기록하지 않으면 XCTest는 “unmatched expected failure”로 인해 테스트가 실패한것으로 표시합니다.
그렇습니다,,실패하는 Assert가 있어야 XCTExpectedFailure는 제 기능을 합니다.
Xcode는 테스트 네비게이터 및 테스트 보고서에 expected 실패를 다르게 표시하고,
expected 실패가 발생한 코드 줄을 설명과 함께 강조합니다.
XCTSkip으로 테스트를 건너뛰는 것과 달리 expected 실패가 있는 테스트는 계속 실행되어 예기치않은 변경 사항을 보고하게 됩니다.
위 코드에서와 같이 XCTSkip을 사용하면, 아예 아래 코드들은 실행조차 안하고 테스트를 스킵해버립니다.
하지만 XCTExpectFailure가 있으면 테스트는 계속 실행되게 되죠.
또한 expected 실패의 범위는 실패한 코드를 클로저로 묶어 제한 할 수 있습니다.
이렇게요!
위에서 보셨다시피, XCTExpectFailure는 반드시 테스트에서 실패를 기록해야합니다.
그렇지 않으면 에러가 났었죠.
Q : 아니 테스트 실패 할 수도 있고 성공 할 수도 있는 그런 테스트 앞에 놓으면 딱일 것 같은데
A : isStrict 프로퍼티를 false로 설정하여 XCTExpectFailure에 XCTExpectedFailure.Options 객체를 매개 변수로 전달하면 됩니다.
분명히 위에서는 실패를 기록하지 않으면 에러가 났습니다만,
isStrict를 false로 주어 이런 비결정적으로 일어나는 상황을 해결 할 수 있게 됩니다.
이래서 글을 꼭..끝까지 읽어달라고 했어요 :D
혹시나 틀린점이 있다면 댓글로 알려주세요~.~
'공부' 카테고리의 다른 글
Fastlane (5) - App Store distribution (2) | 2021.02.13 |
---|---|
Sitrep을 사용해보자 (0) | 2021.02.06 |
Xcode 12.5 Beta Release Notes 📝 (3) | 2021.02.02 |
Github Projects 사용해보기 (2) (0) | 2021.01.04 |
Github Projects 사용해보기 (1) (1) | 2021.01.04 |
- ios 13
- WKWebView
- 제이슨 파싱
- Accessibility
- github
- SwiftUI
- Xcode
- Combine
- iOS delegate
- np-hard
- IOS
- swift delegate
- 스위프트 문법
- 피아노
- Swift
- swift3
- 스위프트
- fastlane
- swift array
- Git
- swift tutorial
- FLUTTER
- WidgetKit
- np-complete
- UIBezierPath
- swift 공부
- WWDC
- swift sort
- 회고
- actor
- Total
- Today
- Yesterday