Maven Surefire:运行单个单元测试

发布于 2024-10-19 12:54:14 字数 245 浏览 3 评论 0原文

我知道可以使用 -Dtest=MyTest 运行特定的测试类。但是是否可以在该类中运行特定的测试?

即如果MyTest定义了testFoo()testBar(),有没有办法指定只有testfoo() > 应该运行吗?

我知道在 IDE 中执行此操作非常容易,但我偶尔需要在另一台服务器上的命令行上运行测试。

I know that it's possible to run a specific test class with -Dtest=MyTest. But is it possible to run a specific test within that class?

I.e. if MyTest defines testFoo() and testBar(), is there a way to specify that only testfoo() should be run?

I'm aware that it's trivially easy to do this in an IDE, but I occasionally need to run tests on the command line on another server.

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

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

发布评论

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

评论(4

千年*琉璃梦 2024-10-26 12:54:14

来自 使用 Maven Surefire 插件运行单个测试

在版本 2.7.3 中,您只能在单个测试类中运行 n 个测试。

注意:junit 4.x 和 TestNG 支持它。

您必须使用以下语法

mvn -Dtest=TestCircle#mytest 测试

您也可以使用模式

mvn -Dtest=TestCircle#test* 测试

From Running a Single Test Using Maven Surefire Plugin

With version 2.7.3, you can run only n tests in a single Test Class.

NOTE : it's supported for junit 4.x and TestNG.

You must use the following syntax

mvn -Dtest=TestCircle#mytest test

You can use patterns too

mvn -Dtest=TestCircle#test* test

扮仙女 2024-10-26 12:54:14

它将自 Surefire 2.8 起提供,请参阅 SUREFIRE-577

It will be available as of Surefire 2.8, see SUREFIRE-577

如歌彻婉言 2024-10-26 12:54:14

不要认为它可用。您可以通过传递一些系统属性和参数来解决这个问题。忽略基于属性值的测试的执行。然而,它似乎并没有增加很大的附加值。还有 TestNG,它提供了额外的功能。

http://maven.apache.org/plugins/maven-surefire -plugin/examples/testng.html

Don't think its available. You can work around it by passing some system properties & ignore execution of tests based on the property value. However it does not seem to add a great value add. There is also TestNG which offers additional features.

http://maven.apache.org/plugins/maven-surefire-plugin/examples/testng.html

凌乱心跳 2024-10-26 12:54:14

要一次执行一个测试,请运行 mvn test

mvn -Dtest=MyUnitlTest test

要一次执行一个测试以及其中的特定方法:

mvn -Dtest=MyUnitTest#method test

其中 MyUnitTest 是测试的名称,#method 是方法的名称。

用 Surefire 执行测试:

mvn surefire:test

To execute one Test at a time, run mvn test

mvn -Dtest=MyUnitlTest test

To execute one Test at a time and a specific method from it:

mvn -Dtest=MyUnitTest#method test

where MyUnitTest is the name of your test and #method is the name of your method.

Execute tests with surefire:

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