Xcode 5.1 / iOS 7.1中的单元测试问题:BKSEventFocusManager中
发布时间:2020-12-14 17:32:34 所属栏目:百科 来源:网络整理
导读:升级到 Xcode 5.1后运行基于XCTest的逻辑测试时看到以下错误 – 很想知道一种解决方法. 2014-03-11 12:57:42.258 xctest[25605:303] deferral properties must have a clientID 2014-03-11 12:57:42.258 xctest[25605:303] ***Assertion failure in -[BKSEve
升级到
Xcode 5.1后运行基于XCTest的逻辑测试时看到以下错误 – 很想知道一种解决方法.
2014-03-11 12:57:42.258 xctest[25605:303] deferral properties must have a clientID 2014-03-11 12:57:42.258 xctest[25605:303] *** Assertion failure in -[BKSEventFocusManager deferEventsForClientWithProperties:toClientWithProperties:],/SourceCache/BackBoardServices_Sim/SpringBoard-2618.99.15/megatrond/BKSEventFocusManager.m:63 <unknown>:0: error: -[CSAPIErrorHandlerTests testDisplayReachabilityAlert] : props must have a valid clientID ( 0 CoreFoundation 0x00b251e4 __exceptionPreprocess + 180 1 libobjc.A.dylib 0x007988e5 objc_exception_throw + 44 2 CoreFoundation 0x00b25048 +[NSException raise:format:arguments:] + 136 3 Foundation 0x000114de -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 116 4 BackBoardServices 0x0197fece -[BKSEventFocusManager deferEventsForClientWithProperties:toClientWithProperties:] + 154 5 UIKit 0x07a942e1 -[UIWindow _beginKeyWindowDeferral] + 176 6 UIKit 0x07a940a7 -[UIWindow _makeKeyWindowIgnoringOldKeyWindow:] + 129 7 UIKit 0x07a9400d -[UIWindow makeKeyWindow] + 41 8 UIKit 0x07a943e2 -[UIWindow makeKeyAndVisible] + 91 解决方法
我发现重现这个的最小情况如下
#import <XCTest/XCTest.h> @interface DummyTest : XCTestCase @end @implementation DummyTest - (void)setUp { [super setUp]; // Put setup code here. This method is called before the invocation of each test method in the class. } - (void)tearDown { // Put teardown code here. This method is called after the invocation of each test method in the class. [super tearDown]; } - (void)testExample { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Message" delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:nil]; // Commenting out the next row does not cause the problem [alert show]; XCTAssertTrue(YES); } @end 似乎在测试中显示UIAlertView会导致此问题.这在Xcode 5.0中有效,但在Xcode 5.1中被破坏了. > Xcode版本5.1(5B130a) 如果您遇到此问题,请尝试上面的代码,看看它是否可重现 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |