XCTest에 익숙하지 않아 10 개의 테스트 케이스가 있고 각 테스트 케이스가 상호 의존적 인 애플리케이션 용 샘플 프로젝트가 있습니다. 내 응용 프로그램을 종료하고 다음 메소드를 호출하는 각 테스트 케이스 후 테스트 슈트, 나는 그것이 응용 프로그램을 종료하지 않으려는하지만 테스트 케이스 하나를 사전에XCTest의 각 테스트 케이스 종료 후 앱 종료가 중지됩니다.
감사를 마치고 같은 장소에서 계속하는
XCTest에 익숙하지 않아 10 개의 테스트 케이스가 있고 각 테스트 케이스가 상호 의존적 인 애플리케이션 용 샘플 프로젝트가 있습니다. 내 응용 프로그램을 종료하고 다음 메소드를 호출하는 각 테스트 케이스 후 테스트 슈트, 나는 그것이 응용 프로그램을 종료하지 않으려는하지만 테스트 케이스 하나를 사전에XCTest의 각 테스트 케이스 종료 후 앱 종료가 중지됩니다.
감사를 마치고 같은 장소에서 계속하는
xcode UI 테스트에서 일련의 테스트 케이스가 알려지지 않았기 때문에 테스트 케이스를 실행하기 위해 앱을 한 번만 실행하는 것은 좋지 않습니다.
하지만 나쁘게 원한다면 여기 해결책이 있습니다. 신속한 2.2 및 2.3에서는 이러한 종류의 요구 사항에 대해
dispatch_once
을 사용합니다. 테스트 케이스 클래스에서
, 난 당신이() 여기 dispatch_once를 사용할 필요가XCUIApplication.launch() method in setUp() method.
을 사용할 생각합니다. 이 dispatch_once를 XCUIApplication.launch()에 사용하면 응용 프로그램을 한 번만 시작합니다.
private static var launchAppOnce:() = {
let app = XCUIApplication()
app.launch()
//do some code if you needed after launch app before run test cases.
}()
struct Static {
static var dispatchOnceToken: Int = 0
}
override func setUp() {
super.setUp()
continueAfterFailure = false
_ = urclassname.launchAppOnce
}
override func tearDown() {
super.tearDown()
}
는 테스트 케이스 클래스에 위의 코드를 사용 : 여기
는 신속 2.2과 2.3을위한 솔루션입니다. 이렇게하면 앱이 한 번만 실행되고 이전 테스트 사례가 끝난 곳에서 다음 테스트 사례가 시작됩니다.업데이트 된 답변을 확인하지 않은 경우 해결책이 있습니까? 그렇다면 답을 게시하십시오. – noor
테스트는 서로 독립적이어야합니다. Xcode 테스트의 실행 순서에 대한 알고리즘은 언제든지 변경 될 수 있습니다. 하나의 테스트가 실패하면 다음 테스트의 상태가 잘못되고 모든 후속 테스트가 실패하여 잘못된 피드백을 제공하기 때문에 서로에 의존하는 테스트를 수행하는 것이 허약 한 시스템입니다.
테스트가 서로 의존해야하는 경우 모든 코드를 여러 개의 어설 션이 포함 된 단일 테스트에 넣기 만하면됩니다. continueAfterFailure
을 true로 설정하려고합니다.
내 문제는 실제로 안드로이드 장치와 아이폰의 앱이 있습니다. 예를 들어 안드로이드 장치에서 "안녕"메시지를 보내고, 확인하고 싶습니다. 아이폰과 바이스의 반대로 확인합니다. 예를 들어, 나는 두 개의 장치 사이를 토글해야하므로 초기 상태와 함수가 다른 방법으로 나누어 져야하는 앱이 필요합니다. – user3724559