2011-12-23 3 views

ответ

0

Существует всего 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) {} 
+0

спасибо за ответ. в моем исходном коде у меня нет большого количества java-файлов. Так что я не могу добавить выше одного в исходный код. Второй вопрос без добавления в исходный код можно генерировать отчет. – vinod

+0

вы не можете создать отчет, не записывая ранее данные покрытия. Вам нужно остановить Tomcat ИЛИ выполнить java-код. Об этом нет. – oers

+0

поблагодарить u за ответ .. у меня есть много программ Java, которые являются моей проблемой – vinod

Смежные вопросы