我可以在Maven文档中找到如何运行的地方:
但是,如何在一个包中运行所有测试?这可能吗?
我希望不需要修改pom.xml或代码的解决方案。
pom.xml
例如,您也可以使用模式
mvn '-Dtest=de.mypackage.*Test' test
运行以 de.mypackage 包结尾的类中的所有测试*Test。
*Test
[更新2017/12/18]: 由于这已成为公认的答案,因此这里有一些进一步的信息:
上面使用的语法(合格的软件包名称)需要Surefire版本2.19.1或更高版本!早期版本要求使用路径表达式,例如
2.19.1
mvn -Dtest="de/mypackage/*Test" test
我使用引号(`或“)来防止外壳执行路径名扩展,Maven不需要任何引号。
可以使用以下语法提取单个测试方法
mvn -Dtest=MyUnitTest#testMethod test
子包中的所有测试也可能包括在内,以便在包中或包下执行所有测试de.mypackage.sub:
de.mypackage.sub
mvn -Dtest="de/mypackage/sub/**" test
或使用Surefire 2.19.1或更高版本
mvn -Dtest="de.mypackage.sub.**" test
还有其他可能性,例如使用正则表达式,请参阅运行单个测试的官方文档。