2017-09-15 13 views
0

콘솔의 출력 끝에 테스트 결과물의 경로를 쓰려고합니다. 그것은 편리 할 것이다. 그리고 나는 또한 호기심이 많습니다.iOS unit tests : 테스트 완료 방법은 무엇입니까?

XCTest가 어떻게 든 응용 프로그램을 종료하고 응용 프로그램 대리인이 lifecycle 콜백을받지 못하고 프로그램이 main.m에서 main 함수보다 먼저 종료됩니다.

답변

1

Test Execution and Observation 특히 testBundleDidFinish을 살펴보십시오.

XCTestObservation을 사용하는 객체를 정의하면 테스트 스위트가 실행되는 동안 언제든지 XCTestObservationCenter.shared 인스턴스에 추가하고 전체 번들이 완료되면 호출을받을 수 있습니다.

0

조나 (Jonah)는 나를 도왔습니다. 다른 사람들을 위해 코드 몇 개를 배치하고 싶습니다.

테스트 전에 관찰을 시작하려면 적절한 방법이 있습니다. 테스트 번들의 Info.plist에 NSPrincipalClass 키가 있습니다. 거기에 귀하의 "교장 클래스"(자세한 내용은 구글)의 이름을 넣어. 제 경우에는 PrincipalClass입니다. 테스트 번들이로드되면 init이 주 클래스에서 호출됩니다. 여기 내 PrincipalClass : 나는 Allure2와 멋진보고 시스템을 만들 수 있었다

@objc(PrincipalClass) 
final class PrincipalClass: NSObject { 
    override init() { 
     TestObservationEntryPoint.instance.startObservation() 
    } 
} 

. 보고는 내가이 질문을 할 당시 원했던 것이 아니지만 대답을 찾았 기 때문에 가능했습니다. XCTest에서 테스트 관찰을 잘 적용 할 수 있습니다.

관련 문제