在JUnit中生成的文件在Idea中执行时测试,但在通过mvn test执行时不测试

时间:2016-10-19 14:59:53

标签: java maven junit swagger springfox

我有一个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',文件就不会更新。

1 个答案:

答案 0 :(得分:0)

IntelliJ运行它在src / test / java文件夹中找到的所有测试,仅查看注释。

maven test runner仅检查文件名在 Test 中结束的文件。因此,检查测试类的名称是否以Test结尾(唉,您没有显示整个测试类定义)。