【发布时间】:2015-06-21 05:21:43
【问题描述】:
在将 Xcode 从 6.0 升级到 6.3 后,我注意到我的自动化测试开始失败。
2015-04-14 18:56:50.625 xctest[48304:517820] *** Terminating app due to uncaught exception 'foo', reason: 'bar'
*** First throw call stack:
(
0 CoreFoundation 0x0084a746 __exceptionPreprocess + 182
1 libobjc.A.dylib 0x004d3a97 objc_exception_throw + 44
2 CoreFoundation 0x0084a66d +[NSException raise:format:] + 141
3 TestTests 0x03e6dbdc -[TestTest test] + 810
4 CoreFoundation 0x0072b84d __invoking___ + 29
5 CoreFoundation 0x0072b6f8 -[NSInvocation invoke] + 360
6 XCTest 0x20108975 -[XCTestCase invokeTest] + 320
7 XCTest 0x20108baa -[XCTestCase performTest:] + 175
8 XCTest 0x20114122 -[XCTest run] + 314
9 XCTest 0x20107598 -[XCTestSuite performTest:] + 406
10 XCTest 0x20114122 -[XCTest run] + 314
11 XCTest 0x20107598 -[XCTestSuite performTest:] + 406
12 XCTest 0x20114122 -[XCTest run] + 314
13 XCTest 0x20107598 -[XCTestSuite performTest:] + 406
14 XCTest 0x20114122 -[XCTest run] + 314
15 XCTest 0x20103df2 __25-[XCTestDriver _runSuite]_block_invoke + 61
16 XCTest 0x20110c42 -[XCTestObservationCenter _observeTestExecutionForBlock:] + 184
17 XCTest 0x20103d16 -[XCTestDriver _runSuite] + 285
18 XCTest 0x20104961 -[XCTestDriver _checkForTestManager] + 272
19 XCTest 0x20104c79 -[XCTestDriver runTestSuite:completionHandler:] + 376
20 XCTest 0x2011772c +[XCTestProbe runTests:] + 216
21 libobjc.A.dylib 0x004e967e +[NSObject performSelector:withObject:] + 70
22 xctest 0x0000823a xctest + 4666
23 xctest 0x000084b0 xctest + 5296
24 xctest 0x00008591 xctest + 5521
25 xctest 0x00007e3d xctest + 3645
26 libdyld.dylib 0x019d4ac9 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
经过进一步调查,现在似乎无法捕获异常。这两个 sn-ps 都会导致这个错误。
XCTAssertThrows([NSException raise:@"foo" format:@"bar"]);
和
@try {
[NSException raise:@"foo" format:@"bar"];
}
@catch (NSException *ex) {
NSLog(@"caught");
}
在 VCS 强制清理同步和重建后,一切看起来都很好,但是在几个构建时间之后,同样的故障开始了。有人有什么想法吗?
【问题讨论】:
-
你并不孤单。但这也不会影响所有人。更多信息请查看this thread in the developer forums。
-
论坛信息强烈提示与stackoverflow.com/q/21150223/476716相关
-
我不认为消除警告会解决这个问题。
-
不清楚是使其静音还是实际上禁用了该功能,但无论哪种方式都不能解决问题。
标签: objective-c xcode6 xctest