最近,在物理设备上编写新的测试和测试时,最终(有时在运行测试的几次或有时在运行测试后几小时),每个设备都将开始崩溃。我找到的唯一解决方案是重新启动设备,然后测试再次开始运行。
以下是Xcode 7.3.1的控制台输出:
2016-07-22 09:17:27.277 XCTRunner[470:164209] Running tests...
2016-07-22 09:17:27.280 XCTRunner[470:164209] Unable to load configuration data from specified path /var/folders/83/tbqj_hp908ddc7bn45hcrh_c0000gn/T/com.apple.dt.XCTest/B389F86E-56B0-4131-B52B-8E9A41E2A789/remote-container/tmp/CollaborateUITests-B389F86E-56B0-4131-B52B-8E9A41E2A789.xctestconfiguration; error: The file doesn’t exist.
2016-07-22 09:17:27.281 XCTRunner[470:164209] Looking for test bundles in /var/containers/Bundle/Application/15D4EDF6-C56A-4735-9DEF-57869AE677AC/CollaborateUITests-Runner.app/PlugIns
2016-07-22 09:17:27.281 XCTRunner[470:164209] Found test bundle at /var/containers/Bundle/Application/15D4EDF6-C56A-4735-9DEF-57869AE677AC/CollaborateUITests-Runner.app/PlugIns/CollaborateUITests.xctest
2016-07-22 09:17:27.282 XCTRunner[470:164209] Looking for configurations in /var/containers/Bundle/Application/15D4EDF6-C56A-4735-9DEF-57869AE677AC/CollaborateUITests-Runner.app/PlugIns/CollaborateUITests.xctest
2016-07-22 09:17:27.282 XCTRunner[470:164209] No configurations found, creating a default configuration that will run all tests.
2016-07-22 09:17:27.480 XCTRunner[470:164209] *** Assertion failure in -[XCUIApplication init], /Library/Caches/com.apple.xbs/Sources/XCTest_iOS/XCTest-10112/XCTestFramework/UI Testing/XCUIApplication.m:72
和pthread_kill:
libsystem_kernel.dylib`__pthread_kill:
0x180620114 <+0>: movz x16, #0x148
0x180620118 <+4>: svc #0x80
-> 0x18062011c <+8>: b.lo 0x180620134 ; <+32>
0x180620120 <+12>: stp x29, x30, [sp, #-16]!
0x180620124 <+16>: mov x29, sp
0x180620128 <+20>: bl 0x1806066d8 ; cerror_nocancel
0x18062012c <+24>: mov sp, x29
0x180620130 <+28>: ldp x29, x30, [sp], #16
0x180620134 <+32>: ret
具体来说,为什么我会看到Unable to load configuration data from specified path
?当测试按预期运行时,我不会收到此错误。这些设备有什么变化?我尝试删除已安装的应用程序和XCTest助手应用程序,但一旦设备开始显示这些错误,解决问题的唯一方法是重新启动设备。
我仍然可以在设备上构建,但是在重启设备之前我无法在启动此设备的设备上进行测试。此外,我仍然可以在其他设备上运行测试(直到其他设备开始显示相同的错误)。
为什么间歇性地发生这种情况?我没有找到一种特定的方法来重现它,除了继续运行测试,直到它再次随机发生。