使用 Maven,如何运行特定测试?

发布于 2024-12-07 07:43:25 字数 51 浏览 0 评论 0原文

我的项目中有数千个单元测试,我想选择其中一个或几个从命令行运行。执行此操作的命令是什么?

I have thousands of unit tests in my project, and I'd like to choose one or a couple of them to run from the command line. What's the command to do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

甜是你 2024-12-14 07:43:25

您可以通过将 -Dtest= 标志传递给 Maven 来运行类中的所有测试:

mvn clean test -Dtest=xxxxTest

从 Surefire 2.8 开始,您还可以运行单独的测试,例如方法 testA 在您的单元测试中,使用相同的标志:

mvn clean test -Dtest=xxxxTest#testA

通过名称模式或名称列表运行多个测试的更多示例可以在 Maven Surefire 文档 >运行单个测试

You can run all the tests in a class, by passing the -Dtest=<class> flag to Maven:

mvn clean test -Dtest=xxxxTest

Since Surefire 2.8, you can also run an individual test, say a method testA within your unit tests, using the same flag:

mvn clean test -Dtest=xxxxTest#testA

More examples for running multiple tests, by name pattern or name lists, can be found in the Maven Surefire documentation > Running a Single Test.

被翻牌 2024-12-14 07:43:25

请阅读 maven Surefire 插件手册。基本上你可以执行以下操作:

mvn -Dtest=*PerformanceTest clean test 

只运行以 PerformanceTest 结尾的所有测试类。

Please read this piece of the maven surefire plugin manual. Basically you can do the following:

mvn -Dtest=*PerformanceTest clean test 

Which only runs all the test classes ending in PerformanceTest.

心不设防 2024-12-14 07:43:25

对上述答案+1,...确保您位于您尝试运行的测试所在模块的同一目录中。
我遇到了这个问题,因为我通常在多模块项目中工作并从项目的根目录运行 mvn clean install...但对于这个用例,您需要 cd< /code> 进入您要运行的测试的模块。

+1 to the above answers, and... make sure you're in the same directory of the module where the test you're trying to run lives.
I ran into this issue, because I normally work in multi-module projects and run mvn clean install from the root of the project... but for this use case, you need to cd into the module of the test you're trying to run.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文