Как работает Эмма? - PullRequest
       22

Как работает Эмма?

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

Для использования Эммы мы сначала установим банку с помощью Эммы. В течение этого времени будут создаваться файлы метаданных em, и когда вы будете запускать тестовые примеры JUnit над инструментальными файлами jars, будут сгенерированы файлы. Который используется для генерации отчета о покрытии.

Мой вопрос в том, что мы не указываем путь к файлам em при выполнении тестов, так как он может генерировать файлы ec? также я слышал, что Эмма использует порт во время работы. Что это за порт?

Ответы [ 2 ]

1 голос
/ 16 сентября 2011

Эндрю, по умолчанию EMMA использует текущую папку для поиска файла cover.em.Я не верю, что он прослушивает какие-либо порты TCP, я быстро просмотрел исходный код EMMA и не смог найти никаких ссылок на сокеты.Он использует только URL-адреса для загрузки файлов классов из пути к классам для инструментовки.

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

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

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

При создании отчетов emma использует файл ec для создания удобочитаемого формата отчета.

...