Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven:如何绕过Surefire&x27;s-Dtest覆盖包括和排除?_Maven_Include_Execution_Surefire - Fatal编程技术网

Maven:如何绕过Surefire&x27;s-Dtest覆盖包括和排除?

Maven:如何绕过Surefire&x27;s-Dtest覆盖包括和排除?,maven,include,execution,surefire,Maven,Include,Execution,Surefire,我在一个配置文件中有两个surefire执行-它们需要不同的配置。 当我运行-Dtest=…,匹配的测试运行两次-每次执行一次 如何使测试只运行一次? 或者更好,我如何确保Fire遵循包含和排除? (一次执行将运行0个测试;我将使用-DfailIfNoTest=false。) 聚类.集成.测试.配置文件 聚类、集成、测试 真的 org.apache.maven.plugins maven surefire插件 默认测试 测试 没有一个 tests-clustering-single-node.

我在一个配置文件中有两个surefire执行-它们需要不同的配置。 当我运行-Dtest=…,匹配的测试运行两次-每次执行一次

如何使测试只运行一次? 或者更好,我如何确保Fire遵循包含和排除? (一次执行将运行0个测试;我将使用-DfailIfNoTest=false。)


聚类.集成.测试.配置文件
聚类、集成、测试
真的
org.apache.maven.plugins
maven surefire插件
默认测试
测试
没有一个
tests-clustering-single-node.surefire
测试
测试
org/jboss/as/test/clustering/single/***TestCase.java
tests-clustering-multi-node.surefire
测试
测试
org/jboss/as/test/clustering/cluster/***TestCase.java

maven surefire插件的2.12版解决了此问题。 (见附件)

描述添加到v2.12的更改: 引自约翰·凯西对上述JIRA链接的评论:

此外,如果存在多个测试执行块,为了避免在错误的块中运行指定的测试,现有的include/excludes现在被接受……指定的测试现在充当这些include/excludes上的细化过滤器。这意味着,在存在多个测试执行块的情况下,您无法运行通常不使用-Dtest=。。。再也没有了

在只有一个测试执行块的情况下,指定的测试应该像以前一样覆盖include


这听起来像是对的滥用,因为您似乎有一些应该由进行的集成测试。通过使用它们,可以自动为单元测试和集成测试提供不同的配置。maven surefire插件用于运行单元测试,而maven failsafe插件用于运行集成测试。此外,您的配置看起来需要不同类型的集成测试,换句话说,这意味着要有多个集成测试模块

 +-- pom.xml
 +-- module-1
 +-- module-2
 +-- integration-test-single-node
 +-- integration-test-multi-node
 ...

这将是为集成测试运行提供不同配置的最佳选择。

也许我可以引入另一个由属性“test”激活的配置文件,该配置文件将根据其ID禁用执行。或者,这仅在子模块中可能吗?SUREFIRE-806由我报告:)和2.12具有回归,请参阅。
 +-- pom.xml
 +-- module-1
 +-- module-2
 +-- integration-test-single-node
 +-- integration-test-multi-node
 ...