Одним из способов достижения этого было бы использование пользовательского RunListener с предупреждением о том, что было бы проще использовать аннотацию, а не Javadoc. Вам необходимо иметь пользовательскую аннотацию, такую как:
@TestDoc(text="tests for XXX-342, fixes customer issue blahblah")
@Test
public void testForReallyBigThings() {
// stuff
}
RunListener
прослушивает события теста, такие как начало теста, конец теста, неудача теста, успешность теста и т. Д.
public class RunListener {
public void testRunStarted(Description description) throws Exception {}
public void testRunFinished(Result result) throws Exception {}
public void testStarted(Description description) throws Exception {}
public void testFinished(Description description) throws Exception {}
public void testFailure(Failure failure) throws Exception {}
public void testAssumptionFailure(Failure failure) {}
public void testIgnored(Description description) throws Exception {}
}
Описание содержит список аннотаций, примененных к методу теста, поэтому, используя приведенный выше пример, вы можете получить Annotation TestDoc, используя:
description.getAnnotation(TestDoc.class);
и извлеките текст как обычно.
Затем вы можете использовать RunListener
для генерации нужных вам файлов с текстом, относящимся к этому тесту, независимо от того, пройден тест или нет, или было проигнорировано время выполнения и т. Д. Это будет ваш пользовательский отчет.
Затем, в определенном случае, вы можете указать пользовательский слушатель, используя:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.10</version>
<configuration>
<properties>
<property>
<name>listener</name>
<value>com.mycompany.MyResultListener,com.mycompany.MyResultListener2</value>
</property>
</configuration>
</plugin>
Это из Плагин Maven Surefire, Использование JUnit, Использование пользовательских слушателей и репортеров
Недостатком этого решения является то, что у вас нет гибкости javadoc в отношении возврата каретки, форматирования, но оно имеет то преимущество, что документация находится в одном конкретном месте, аннотации TestDoc.