我有一个JUnit测试,它从springfox swagger端点生成一些asciidoc文件。如果我从Idea执行测试,则会生成这些文件,但如果我通过mvn test执行测试,则不会生成这些文件。有办法解决这个问题吗?
@Test
public void convertSwaggerToAsciiDoc() throws Exception {
this.mockMvc.perform(get("/v2/api-docs")
.accept(MediaType.APPLICATION_JSON))
.andDo(Swagger2MarkupResultHandler.outputDirectory("src/docs/asciidoc/generated")
.build())
.andExpect(status().isOk());
}
应该使用asciidoctor通过maven-asciidoctor-plugin进一步处理生成的文件:
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<version>1.5.3</version>
<configuration>
<sourceDirectory>src/docs/asciidoc/generated</sourceDirectory>
<outputDirectory>src/main/resources/public/doc/</outputDirectory>
<sourceDocumentName>index.adoc</sourceDocumentName>
<backend>html5</backend>
<sourceHighlighter>coderay</sourceHighlighter>
<attributes>
<toc>left</toc>
</attributes>
<headerFooter>true</headerFooter>
</configuration>
<executions>
<execution>
<id>output-html</id>
<phase>package</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
</execution>
</executions>
</plugin>
但是如果我执行'mvn package',文件就不会更新。
答案 0 :(得分:0)
IntelliJ运行它在src / test / java文件夹中找到的所有测试,仅查看注释。
maven test runner仅检查文件名在 Test 中结束的文件。因此,检查测试类的名称是否以Test
结尾(唉,您没有显示整个测试类定义)。