在单元测试用例中,我尝试为我的应用程序创建一些自己的逻辑,例如从当前的另一个用户名注册或连接到不同的服务器,而无需重复现有代码。我尝试做的第一步是创建 XCTestCase、alloc 类,它支持外部连接并尝试从他那里获得委托调用。但是 NSURLConnection 只是等待没有网络交换,所以我没有成功。
下一个案例,我尝试做的是等待应用程序完成并执行所有问题:
- (BOOL)waitForCompletion:(NSTimeInterval)timeInterval {
NSDate *timeoutDate =
[NSDate dateWithTimeIntervalSinceNow:timeInterval];
do {
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode
beforeDate:timeoutDate];
if([timeoutDate timeIntervalSinceNow] < 0.0) {
break;
}
} while (self.hasOperationFinishedPerforming == NO);
return self.hasOperationFinishedPerforming;
}
但在这种情况下,应用程序启动,执行所有当前周期,但我不知道如何从当前应用程序代码中检测到正在运行的单元测试。我试图在单元测试目标上设置预处理器宏,但它不会影响应用程序内的代码,也只会影响测试类的代码。
有任何想法吗?