为什么我的应用程序在单元测试中终止?

时间:2010-09-03 00:07:29

标签: objective-c cocoa terminate nsoperationqueue nsrunloop

问题

我进行单元测试。有一次,我等着使用:

[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:1]];

表示NSOperationQueue为空。当我的应用程序到达此行时,它会立即终止。它与其他测试完全相同。所有测试最近都运行良好。它有时也会在启动时立即终止我的应用程序。

到底是怎么回事?

1 个答案:

答案 0 :(得分:0)

我已经发布这个给我答案,以防其他人遇到同样的问题,因为我花了整整一天时间,并且由于git的精彩,终于找到了问题。

我补充说:

-(BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender {
    return YES;
}

进入我的app委托,因为我希望我的应用程序在窗口关闭时终止。事实证明,这是明显随机终止的原因。

我在启动时隐藏了我的窗口,所以我只能认为这是导致应用程序立即终止的原因,尽管每次启动实际应用程序时都不会发生这种情况。

我只知道它在单元测试中始终如一地终止,这让我觉得这与代码或我的测试有关。事实并非如此。

我摆脱了上面这一行,现在一切都按预期工作了。