Cobertura на Tomcat

Я пытаюсь применить покрытие кода с помощью Cobertura. Приложение развернуто в Tomcat 5, но когда я инструментирую файлы .class, приложение перестает работать.

Это мои шаги:

  • Скомпилируйте приложение (это запускается в Tomcat)
  • Инструментируйте файлы классов.

    D:\test\cobertura-1.9.4.1\cobertura-instrument.bat --destination D:\test\instrument D:\src\path_to_app\main\target\webapp
    
  • Замените файлы классов D:\src\path_to_app\main\target\webapp инструментальными файлами классов D:\test\instrument.

  • Разверните приложение в Tomcat через Catalina conf или с помощью файла war. (Приложение не работает)

Есть ли у кого-нибудь правильные шаги для правильного развертывания приложения в Tomcat с классами, инструментами Cobertura?

Ссылка: http://cobertura.sourceforge.net/faq.html

Я использую cobertura-1.9.4.1


person Gareve    schedule 14.03.2011    source источник


Ответы (2)


Правильные шаги были:

  • Скомпилируйте приложение
  • Инструментируйте файлы классов. D:\test\cobertura-1.9.4.1\cobertura-instrument.bat --destination D:\test\instrument D:\src\path_to_app\main\target\webapp (созданный cobertura.ser)

  • Замените файлы классов D:\src\path_to_app\main\target\webapp инструментальными файлами классов D:\test\instrument.

  • Скопируйте cobertura.jar в WEB-INF / lib
  • Разверните приложение в Tomcat напрямую или с помощью файла war.
  • Скопируйте cobertura.ser в текущий каталог tomcat (tomcat / bin или system32, иначе вы увидите путь в журналах ошибок)
  • Используйте приложение и остановите сервер Tomcat.
  • Создайте отчет с обновленным cobertura.ser (в system32 или ...) (по крайней мере, у меня размер не меняется)

Ссылка: - http://cobertura.sourceforge.net/faq.html - ответ JB Nizet

person Gareve    schedule 15.03.2011
comment
Странно, как люди игнорируют такой великий ответ. Спасибо, мужик. +100500 в вашу карму. - person Alexander.Iljushkin; 09.04.2015

Что значит "приложение не работает"? У вас есть исключение в выводе / журналах tomcat? Что там написано?

Я подозреваю, что вы забыли поместить jar-файлы cobertura в папку WEB-INF / lib вашего веб-приложения перед его развертыванием. Очевидно, что код, добавленный инструментарием cobertura, вызывает методы движка cobertura, поэтому эти классы должны быть доступны в вашем веб-приложении.

person JB Nizet    schedule 14.03.2011