Как начать писать инструмент покрытия кода?

голоса
20

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

Это для языка сценариев, который генерирует Java байт-код под капотом.

Задан 05/08/2008 в 12:15
источник пользователем
На других языках...                            


5 ответов

голоса
7

Является ли ваш скриптовый язык производящая байткод? Он генерирует ли отладки метаданных? Если да, то байткод приборы, вероятно, путь. Фактически существующие инструменты , такие как, скорее всего , работать; возможно , с минимальными изменениями (типичная проблема заключается в инструменты написаны для работы с Java и предположим com.foo.Bar.class соответствует COM / Foo / Bar.java. Развернув это предположение может быть утомительным.) EMMA является ClassLoader , что делает байт-код переписывание для сбора кода покрытия в Java. Стиль кодирования немного напуганный, но я рекомендую читать источник для некоторых идей.

Если ваш язык сценариев интерпретируется, то вам нужно что-то более высокого уровня (на уровне источника), который перехватывает в интерпретатор.

Ответил 10/08/2008 в 08:19
источник пользователем

голоса
2

Если вы говорите о ColdFusion (который я предполагаю, что вы из тегов), то я не уверен, что это выполнимо, но я могу быть очень неправильно здесь ...

IIRC, когда CF компилирует его по существу компилирует в истолковано виде CFML как обычный старый исходный файл Java, это компилируется в класс. Таким образом, любой инструментарий, который вы, возможно, будет применяться к промежуточной версии, а не сам CFML.

Сказать, что, хотя, Adobe получила CF отладчик Теперь, который может уйти, хотя код, пожалуйста, испытайте меня неправильно - я люблю покрытие кода в CFML.

Ответил 06/11/2008 в 00:48
источник пользователем

голоса
2

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

Ответил 15/09/2008 в 19:36
источник пользователем

голоса
2

Thxm, Mc! http://asm.objectweb.org / это еще один. Отличная документация на байты коды аппаратуры, но ничего «напрямую» , направленные на написание инструмента покрытия - только некоторые подсказки или идей.

Ответил 05/08/2008 в 13:50
источник пользователем

голоса
1

Вы можете также получить источник из открытого инструмента покрытия исходного кода и узнать от него.

Ответил 12/08/2008 в 18:58
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more