У меня есть тестовый класс c ++, реализованный с помощью googletest, поэтому он отлично передает XCode со следующим выводом:
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from test_fixture
[ RUN ] test_fixture.test_name
[ OK ] test_fixture.test_name (65609 ms)
[----------] 1 test from test_fixture (65609 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (65609 ms total)
[ PASSED ] 1 test.
Но когда я пытаюсь запустить тот же тест на терминале с помощью ctest
Команда дает странную ошибку Unexpected format:
со следующим выводом:
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from test_fixture
[ RUN ] test_fixture.test_name
Unexpected format: [ RUN ] test_fixture.test_name (it is always printing the above line)
<end of output>
Test time = 29.72 sec
И для Xcode, и для ctest использовался один и тот же симулятор iOS. Я не понимаю, почему результаты теста дают вывод «FAILED» или «PASSED». Я много раз искал эту ошибку и не мог найти разумных ответов, поэтому, пожалуйста, помогите.
Обновить:
Оказалось, инструмент симулятор IOS ios-sim
возникла проблема с приложениями, которые работают дольше 30 секунд (я пробовал использовать класс googletest с тремя пустыми функциями, у которых задержка 15 секунд между ними, приложение зависало во второй), симулятор аварийно завершает работу приложения, но пока не нашел причины.
Оказывается, инструмент iOS Simulator, который я использовал https://github.com/phonegap/ios-sim
,
Я опустошил наши тестовые классы и добавил 3 тестовые функции с задержкой в 15 секунд. Если приложение работает дольше 30 секунд, ios-sim вылетает.
Решение Для этого случая стоит использовать реальные устройства с похожим проектом: https://github.com/phonegap/ios-deploy
Других решений пока нет …