Почему мое приложение завершается в середине модульных тестов? - PullRequest
0 голосов
/ 03 сентября 2010

Проблема

Я запускаю свои юнит-тесты. В какой-то момент я жду, используя:

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

для NSOperationQueue быть пустым. Когда мое приложение достигает этой строки, оно немедленно закрывается. Он запускает точно такую ​​же строку с другими тестами. Все тесты работали отлично в последнее время. Это также иногда сразу останавливает мое приложение при запуске.

Что происходит на земле?

1 Ответ

0 голосов
/ 03 сентября 2010

Я разместил это для меня, чтобы дать ответ на случай, если другие столкнутся с той же проблемой, так как я потратил целый день на это и, благодаря удивительности git, наконец-то разыскал проблему.

Я добавил:

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

в мой делегат приложения, так как я хотел, чтобы мое приложение завершалось при закрытии окна.Оказывается, это и есть причина, по-видимому, случайного завершения.

Я скрываю свое окно при запуске, поэтому я могу только думать, что именно это приводит к немедленному завершению работы приложения, хотя это происходит не каждый раз при запуске самого приложения.

Я просто знаю, что он постоянно завершался в этом модульном тесте, что заставило меня подумать, что это как-то связано с этим кодом или моим тестом.Это не было.

Я избавился от вышеуказанной строки, и теперь все работает, как ожидалось.

...