0
我試圖建立我的單元測試使用最新的Facebook SDK和正在運行到問題的建立呼叫...如何使用FBTestSession與單元測試
這裏是我的代碼有:
[FBSession setDefaultAppID: @"323351877676429"];
FBTestSession *session = [FBTestSession sessionWithSharedUserWithPermissions: [NSArray array]];
STAssertNotNil(session, @"could not create test session");
[FBTestSession openActiveSessionWithReadPermissions:@[]
allowLoginUI:NO
completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
NSLog(@"completed");
[FBSession setActiveSession: session];
STAssertNil(error, error.description);
STAssertNotNil(FBSession.activeSession, @"FBSession missing");
STAssertNotNil(FBSession.activeSession.accessTokenData, @"FBSession missing");
STAssertNotNil(FBSession.activeSession.accessTokenData.accessToken, @"facebook token is nil");
STAssertNotNil(session, @"FBSession missing");
STAssertNotNil(session.accessTokenData, @"FBSession missing");
STAssertNotNil(session.accessTokenData.accessToken, @"facebook token is nil");
userModel *userM = [[userModel alloc] init];
[userM awakeFromNib];
} ];
這很好,除非它運行異步,所以當我的測試運行時,會話沒有準備好,因此我有session.accessTokenData == nil。,這使得我的其他測試失敗。
如果我在openSession調用之後將下面的代碼添加到我的設置方法中,那麼安裝方法永遠不會返回。
while (!FBSession.activeSession.accessTokenData)
[NSThread sleepForTimeInterval:.2];
是否有正確使用FBTestSession某處的個例?有關如何進行的任何線索?
感謝,奧利弗