Существует всего 2 способа создания файла данных покрытия.
- Остановить Tomcat
- Выполнить кусок кода, который говорит
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) {}
спасибо за ответ. в моем исходном коде у меня нет большого количества java-файлов. Так что я не могу добавить выше одного в исходный код. Второй вопрос без добавления в исходный код можно генерировать отчет. – vinod
вы не можете создать отчет, не записывая ранее данные покрытия. Вам нужно остановить Tomcat ИЛИ выполнить java-код. Об этом нет. – oers
поблагодарить u за ответ .. у меня есть много программ Java, которые являются моей проблемой – vinod