问题
我进行单元测试。有一次,我等着使用:
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:1]];
表示NSOperationQueue为空。当我的应用程序到达此行时,它会立即终止。它与其他测试完全相同。所有测试最近都运行良好。它有时也会在启动时立即终止我的应用程序。
到底是怎么回事?
答案 0 :(得分:0)
我已经发布这个给我答案,以防其他人遇到同样的问题,因为我花了整整一天时间,并且由于git的精彩,终于找到了问题。
我补充说:
-(BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender {
return YES;
}
进入我的app委托,因为我希望我的应用程序在窗口关闭时终止。事实证明,这是明显随机终止的原因。
我在启动时隐藏了我的窗口,所以我只能认为这是导致应用程序立即终止的原因,尽管每次启动实际应用程序时都不会发生这种情况。
我只知道它在单元测试中始终如一地终止,这让我觉得这与代码或我的测试有关。事实并非如此。
我摆脱了上面这一行,现在一切都按预期工作了。