通过完全限定的包名称包含/排除测试
Include / exclude tests by fully qualified package name
我正在尝试通过完全限定的包名称指定一组测试,在 OpenJDK 11 上使用 Maven 3.6.3 和 maven-surefire-plugin 3.0.0-M5。documentation 状态.. .
As of Surefire Plugin 2.19.1, the syntax with fully qualified class
names or packages can be used
...继续举个例子:
<include>my.package.*, another.package.*</include>
如果我在名为 some.test.pkg1
的包中进行测试 class Test1.java
并使用:
<include>some.test.pkg1.*</include>
甚至:
<include>some.test.*</include>
...测试不会执行。这是为什么?
更新 1: 为了提供@khmarbaise 要求的所有信息,我已经将一个小项目推送到 github,请看这里:https://github.com/zb226/so69604251-maven-surefire-plugin
更新 2: @ori-dar 建议删除星号 *
(或 .*
),但这没有帮助。
更新 3: 我发现提到默认情况下 Maven 期望测试 classes 的名称以 Test
结尾,所以我尝试重命名MavenTest.java
的测试也没有帮助。
更新 4: 对于后代,SUREFIRE-1789 似乎可以解决这个问题。
SUREFIRE-1389 is related. SUREFIRE-1191 introduced the corresponding section in the docs.
更新 5: 我为 Windows/*nix 添加了小型测试运行器到我上面链接的 repo,以检查哪些版本受此行为影响。事实证明它是除 2.19.1 之外的任何一个 - 这意味着官方文档如果不说错误超过 5 年就会产生误导 :(
老实说,这看起来像是 maven-surefire-plugin 中的错误,或者至多是一些未正确记录的行为更改。
我把你发布到 GitHub 的示例,降级到 maven-surefire-plugin 2.19.1,它工作得很好。
您可能想要报告此错误 Apache's Jira。
我正在尝试通过完全限定的包名称指定一组测试,在 OpenJDK 11 上使用 Maven 3.6.3 和 maven-surefire-plugin 3.0.0-M5。documentation 状态.. .
As of Surefire Plugin 2.19.1, the syntax with fully qualified class names or packages can be used
...继续举个例子:
<include>my.package.*, another.package.*</include>
如果我在名为 some.test.pkg1
的包中进行测试 class Test1.java
并使用:
<include>some.test.pkg1.*</include>
甚至:
<include>some.test.*</include>
...测试不会执行。这是为什么?
更新 1: 为了提供@khmarbaise 要求的所有信息,我已经将一个小项目推送到 github,请看这里:https://github.com/zb226/so69604251-maven-surefire-plugin
更新 2: @ori-dar 建议删除星号 *
(或 .*
),但这没有帮助。
更新 3: 我发现提到默认情况下 Maven 期望测试 classes 的名称以 Test
结尾,所以我尝试重命名MavenTest.java
的测试也没有帮助。
更新 4: 对于后代,SUREFIRE-1789 似乎可以解决这个问题。 SUREFIRE-1389 is related. SUREFIRE-1191 introduced the corresponding section in the docs.
更新 5: 我为 Windows/*nix 添加了小型测试运行器到我上面链接的 repo,以检查哪些版本受此行为影响。事实证明它是除 2.19.1 之外的任何一个 - 这意味着官方文档如果不说错误超过 5 年就会产生误导 :(
老实说,这看起来像是 maven-surefire-plugin 中的错误,或者至多是一些未正确记录的行为更改。
我把你发布到 GitHub 的示例,降级到 maven-surefire-plugin 2.19.1,它工作得很好。
您可能想要报告此错误 Apache's Jira。