如何在不模拟Doclet API的情况下测试Java 9+ doclet?

问题描述 投票:0回答:1

我使用Java 9+编写了一个Doclet。我想使用JUnit框架测试它而不模拟Doclet API。有什么好办法吗?

junit java-9 doclet
1个回答
0
投票

当你知道要使用什么时,答案很简单。以下是可以在JUnit测试中使用的手动调用示例。

DocumentationTool systemDocumentationTool = ToolProvider.getSystemDocumentationTool();
        String[] args = new String[] {
          "-sourcepath",
          "./src/test/java",
          "-subpackages",
          "<whatever-package-in-test-sources>",
          "<whatever-package-in-test-sources>",
          "-d",
          "whatever not used just to show compatibility",
          "-author",
          "whatever not used just to show compatibility",
          "-doctitle",
          "whatever not used just to show compatibility",
          "-windowtitle",
          "whatever not used just to show compatibility",
          "-classdir",
          BUILD_PROPERTY_FILE_LOCATION
        };
        DocumentationTool.DocumentationTask task = systemDocumentationTool.getTask(null, null, null,
          <MyDocletClass>.class, Arrays.asList(args), null);

        task.call();
        // Your checks after invocation

© www.soinside.com 2019 - 2024. All rights reserved.