Как настроить gcov для анализа покрытия кода в iPhone SDK?

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

Я следовал инструкциям здесь: http://www.cubiclemuses.com/cm/articles/2009/05/14/coverstory-on-the-iphone/, который повторяется очень похоже в других местах. Я попытался использовать AppleScript Google от их панели инструментов для Mac, чтобы сделать это на всякий случай, я вводил что-то не так в XCode.

Я использовал iPhoneUnitTests образец Apple в качестве основного проекта и AppleScript просто рабочего Google, чтобы позволить тестированию покрытия кода против цели CalcTests получить хорошо полученный, автоматизированный пример его не работа. Какой сценарий я использую, мой собственный код, Apple, вручную устанавливая надлежащие переменные или позволяя AppleScript Google сделать это для меня, все, что я получаю, эти ошибки в консоли отладки, после того как тесты закончены, работая:

profiling:/Users:Cannot create directory
profiling:/Users/jpo/Downloads/iPhoneUnitTests/build/iPhoneUnitTests.build/Debug-iphoneos/CalcTesting.build/Objects-normal/armv6/CalcViewController.gcda:Skip
profiling:/Users:Cannot create directory
profiling:/Users/jpo/Downloads/iPhoneUnitTests/build/iPhoneUnitTests.build/Debug-iphoneos/CalcTesting.build/Objects-normal/armv6/Calculator.gcda:Skip
profiling:/Users:Cannot create directory
profiling:/Users/jpo/Downloads/iPhoneUnitTests/build/iPhoneUnitTests.build/Debug-iphoneos/CalcTesting.build/Objects-normal/armv6/CalcAppDelegate.gcda:Skip
profiling:/Users:Cannot create directory
profiling:/Users/jpo/Downloads/iPhoneUnitTests/build/iPhoneUnitTests.build/Debug-iphoneos/CalcTesting.build/Objects-normal/armv6/main.gcda:Skip

gcda файлы не создаются, и таким образом у меня нет ничего для анализа. Любая справка с этим значительно ценилась бы.

6
задан Yann Trevin 26 February 2010 в 09:23
поделиться

1 ответ

Решение заключается в том, что эти руководства относятся к запущенному коду в симуляторе iPhone. Так как я выполняю тесты уровня приложений, я выполняю перекрестное профилирование и должен следовать этой информации.

Затем я устанавливаю переменную окружения GCOV_PREFIX, чтобы выложить ее в каталог Документы моего приложения, а затем я использую Organizer в Xcode, чтобы загрузить пакет моего приложения с устройства, чтобы получить файлы .gcda из каталога Документы. Это довольно громоздко и вряд ли подходит для автоматического тестирования покрытия, но это единственное решение, которое я вижу, учитывая ограничения, связанные с запуском в песочнице и использованием классов, доступных только для тестирования на устройстве (а именно MediaPlayer.framework).

.
6
ответ дан 17 December 2019 в 02:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: