代码之家  ›  专栏  ›  技术社区  ›  John Gallagher

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

  •  0
  • John Gallagher  · 技术社区  · 14 年前

    问题

    我运行单元测试。在某一点上,我等待使用:

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

    nsOperationQueue为空。当我的应用程序到达这一行时,它会立即终止。它和其他测试的结果完全一样。最近所有的测试都很顺利。有时它也会在启动时立即终止我的应用程序。

    到底发生了什么?

    1 回复  |  直到 14 年前
        1
  •  0
  •   John Gallagher    14 年前

    我把这个贴出来是为了提供一个答案,以防其他人遇到同样的问题,因为我花了一整天的时间在这个问题上,而且由于Git的出色表现,我终于找到了这个问题。

    我补充说:

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

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

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

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

    我摆脱了上面的那条线,现在一切都按预期工作了。