<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20.1</version>
<configuration>
<includes>
<!-- includes all tests, but not in subpackages -->
<include>**/package1/*</include>
<!-- includes all tests, AND in subpackages -->
<include>**/package2/**</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
9条答案
按热度按时间zzwlnbp81#
.如果您想包含所有子包:
8oomwypt2#
O Badr的答案的pom.xml版本:
3pvhb19x3#
遇到了同样的问题(如何在一个特定的包中运行所有测试),并尝试了许多方法,两个有效的命令是:
lyr7nygr4#
这可能不是最好的答案,但你可以运行一个单独的TestSuite(这是一个测试),其中包括所有你想要在一个包中的测试。
ccgok5k55#
它也可以通过以下方式完成:
例如:我在我的/home/repository中,我只想在/home/repository/service文件夹中运行测试
这里的服务文件夹是在我的当前文件夹。
waxmsbnn6#
您可以通过Surefire-plugin在pom.xml中提到包
请注意,JUnit版本应该大于4.8。surefire的版本应该是2.19.1 Find more details here
k3fezbri7#
你也可以使用一个模式,例如
运行包 de.mypackage 中以
*Test
结尾的类中的所有测试。[更新2017/12/18]:
由于这已成为公认的答案,这里有一些进一步的信息:
2.19.1
或更高版本!早期版本需要使用路径表达式,例如de.mypackage.sub
execute中或下面的所有测试:或使用Surefire
2.19.1
或更高版本还有更多的可能性,比如使用正则表达式,参见official documentation of running a single test。
zzzyeukh8#
AFAIK surefire:test没有命令行参数来运行特定包中的测试。
我使用一个配置变量来实现相同的效果。我的pom.xml的一个片段:
现在,如果我想在一个名为“com.example”的包中运行测试,我使用以下命令:
ne5o7dgx9#
您可以参考以下场景:
(1)在maven构建期间跳过所有测试执行
(2)执行所有测试用例
(3)执行特定测试组
(4)在执行过程中测试特定的测试组
(5)执行特定的包测试用例
(6)执行特定测试
我希望这将是更有帮助的你与执行不同的组合。