從鏈接的解決方法上面 對於有問題的看法和線
viewWillAppear:
- (void) viewWillAppear: (BOOL)animated {
if ([[[NSProcessInfo processInfo] environment][@"UITEST_DISABLE_ANIMATIONS"] isEqualToString:@"YES"]) {
[UIView setAnimationsEnabled:NO];
}
}
和viewWillDisappear把動畫重新禁用動畫:
- (void) viewWillDisappear:(BOOL)animated {
if ([[[NSProcessInfo processInfo] environment][@"UITEST_DISABLE_ANIMATIONS"] isEqualToString:@"YES"]) {
[UIView setAnimationsEnabled:YES];
}
}
在您的測試中擴展XCUIApplication並設置變量,然後在您的setup方法中調用launchvariables函數
extension XCUIApplication {
func launchTestsWithEnvironmentVariables() {
launchEnvironment = [
"UITEST_DISABLE_ANIMATIONS" : "YES"
]
self.launch()
}
}
override func setUp() {
super.setUp()
continueAfterFailure = false
XCUIApplication().launchTestsWithEnvironmentVariables()
}
func testblahblah {
這設置了一個環境變量,將禁用該特定視圖的動畫。唯一的缺點是你不會爲那個視圖測試動畫。哈克解決方法,但它現在工作。
PS它真的幫了我
來源
2016-09-04 14:22:22
Che
http://www.openradar.me/25562105 https://forums.developer.apple.com/thread/6503 – Che