Инструмент покрытия кода для BlackBerry - PullRequest
3 голосов
/ 03 мая 2010

Я ищу инструмент покрытия кода , который можно использовать с приложением BlackBerry. Я использую J2ME-Unit для модульного тестирования и хочу посмотреть, какая часть моего кода покрывается моими тестами.

Я пытался использовать Cobertura для J2ME , но после нескольких дней борьбы с ним мне не удалось получить никаких результатов. (Я считаю, что инструментарий не сделан компиляцией RAPC). И несмотря на это сообщение , проект кажется мертвым.

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

Я также пробовал представление «Покрытие» в BlackBerry JDE, хотя я использую Eclipse для разработки. Представление остается постоянно пустым независимо от нажатия кнопки «Обновить» и запуска приложения из JDE.

Я смотрел на большинство инструментов в этом потоке SO , но они не будут работать с проектами J2ME / BlackBerry.

Кто-нибудь имел какой-либо успех с какими-либо инструментами покрытия кода на BlackBerry? Если да, то какие инструменты вы использовали? Как вы их использовали?

Если кому-то удалось заставить JInjector или Cobertura для J2ME работать с проектом BlackBerry, что вам нужно было сделать, чтобы он заработал?

Ответы [ 2 ]

2 голосов
/ 04 мая 2010

Я не могу говорить за Coberatura или JInjector, потому что я не знаю, как они собирают данные тестового покрытия покрытия.

Что такое критически важно то, как эти данные собираются (нужна ли им поддержка времени выполнения Java, доступная только в стандартных виртуальных машинах Java?) и как они экспортируются в инструменты отображения / создания отчетов покрытия теста.

Наш SD Java Test Coverage инструмент инструментов вашего исходного кода; во время выполнения это создает массив родных Java-логических значений, представляющих данные покрытия, без необходимости какой-либо специальной поддержки виртуальных машин. Обычно этот массив экспортируется непосредственно в файл, используемый механизмом отображения покрытия теста, методом TCVDump, предоставляемым с инструментом покрытия теста, при выходе из приложения.

Java (и другие используемые языки программирования) во встроенных системах часто требуют пользовательских методов для извлечения данных покрытия тестов. Возможно, вам придется написать специальную процедуру дампа (на Java), чтобы записать этот логический массив в доступное место. Наш опыт создания таких пользовательских процедур дампа заключается в том, что они, как правило, довольно простые (несколько десятков строк); реальная хитрость заключается в том, чтобы решить, как / где поместить данные, чтобы их можно было легко переместить в целевой файл. В основном это просто особая пара копий, первая из которых копирует логический массив в какое-то промежуточное место, а вторая - записывает подготовленные данные в файл назначения. (Стандартный метод TCVdump предоставляется в исходной форме для включения этого вида настройки).

Хотя я специально не смотрел на BlackBerry, если вы можете записывать данные где угодно, вы можете быть уверены, что сможете достичь этого. Мы добились успеха с другими встроенными системами для мобильных телефонов, такими как Symbian.

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

0 голосов
/ 14 февраля 2011

Я активно работал с JInjector во время работы в Google. Мы смогли использовать его для успешного получения покрытия кода для приложений Blackberry. Жизненный цикл приложений для приложений Balckberry менее предсказуем, чем J2ME, и мы обнаружили, что нам пришлось настроить код приложения, чтобы обеспечить сбор данных покрытия. Лично я не работал над приложениями Blackberry, несколько других инженеров. Я надеялся, что мы создадим пример приложения BlackBerry и сделаем его доступным на сайте Jinjector, но события и жизнь мешают.

Если вы захотите предоставить образцы приложений BlackBerry с некоторыми модульными тестами, я бы хотел потратить несколько часов на то, чтобы помочь вам получить покрытие кода. Я не активно работаю ни с J2ME, ни с Blackberry (сейчас я работаю над приложениями для Android, когда у меня есть время поэкспериментировать с мобильными устройствами), поэтому я довольно ржавый. У меня есть дневная работа, которая не требует большой автоматизации тестирования мобильных устройств, однако я продолжаю искать способы улучшить автоматизацию тестирования мобильных приложений, например http://code.google.com/p/mwta/downloads/list для Android Test Automation.

Я Джулианхарти на gmail.com

...