Модульное тестирование сломано в iOS 4.1 SDK? - PullRequest
11 голосов
/ 12 сентября 2010

После обновления до 4.1 iOS SDK мои тестовые пакеты всегда возвращаются со следующими двумя ошибками и одним предупреждением:

An internal error occurred when handling command output: -[XCBuildLogCommandInvocationSection setTestsPassedString:]: unrecognized selector sent to instance
An internal error occurred when handling command output: -[XCBuildLogCommandInvocationSectionRecorder endmarker:]: unrecognized selector sent to instance
Run unit tests for architecture 'i386' (GC OFF) did not finish

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

Кто-нибудь еще имеет эту проблему?

Ответы [ 5 ]

10 голосов
/ 25 сентября 2010

Существует исправление, доступное на форумах разработчиков Apple,

https://devforums.apple.com/thread/68687

это проблема анализа даты.Исправление быстрое, оно требует добавления одного .m, добавленного в ваш тестовый пакет.Исправление доступно выше или от:

http://gist.github.com/586296

3 голосов
/ 18 сентября 2010

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

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

Изменение

"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests" 

до

"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests" 1> /tmp/RunUnitTests.out 

Он работает над вопросом, а не решает его, но работает.

2 голосов
/ 18 сентября 2010

Это подтвержденная ошибка в Xcode 3.2.4 / 4.1 SDK. Об этом сообщили в Apple.

Обновление до Xcode 3.2.5 / 4.2 beta SDK решает проблему. Я не знаю, открыт ли доступ к beta SDK: s, или вам нужно быть зарегистрированным разработчиком.

1 голос
/ 18 сентября 2010

Я задал тот же вопрос:
Проблема с выполнением логических тестов после обновления XCode 3.2.4

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

1 голос
/ 15 сентября 2010

У меня тоже такая же проблема.

Как ни странно, я могу заставить модульные тесты завершиться правильно, запустив их через отладчик в соответствии с http://www.grokkingcocoa.com/how_to_debug_iphone_unit_te.html

Так выглядиткак что-то не так с интерфейсом XCode для проверки ...

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

...