отчет о кобертуре без остановки кота - PullRequest
2 голосов
/ 23 декабря 2011

Я выполнил шаги, указанные для отчета о кобертуре, и сгенерировал отчет, выполнив следующие шаги, указанные в URL Cobertura на Tomcat

, но теперь моя задача - создать отчет о кобертуре без остановки* 1005 кот *

1 Ответ

0 голосов
/ 23 декабря 2011

Существует только 2 способа создания файла данных покрытия.

  1. Стоп Tomcat
  2. Выполнить фрагмент кода, который говорит cobertura написать файл

Относительно второго подхода. Вы должны вызывать эту функцию самостоятельно после выполнения тестов. Вы можете (например) поместить этот код в сервлет (который вы вызываете в конце ваших тестов).

Если вы не остановите Tomcat или не выполните функцию, вы не получите файл данных покрытия.

Это из cobertura FAQ

Cobertura записывает файл данных покрытия только при выключении сервера приложений. Мы не хотим останавливать наш сервер приложений после запуска наших тестов.
Можно поручить Cobertura записать файл данных. Один из ваши классы должны вызывать статический метод net.sourceforge.cobertura.coveragedata.ProjectData.saveGlobalProjectData (). Например, вы можете добавить что-то вроде этого в метод "выхода из системы" в Ваше веб-приложение:

try {
    String className = "net.sourceforge.cobertura.coveragedata.ProjectData";
    String methodName = "saveGlobalProjectData";
    Class saveClass = Class.forName(className);
    java.lang.reflect.Method saveMethod = saveClass.getDeclaredMethod(methodName, new Class[0]);
    saveMethod.invoke(null,new Object[0]);
} catch (Throwable t) {}
...