开发者

Maven Surefire: run a single unit test

开发者 https://www.devze.com 2023-02-13 19:58 出处:网络
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 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 i开发者_JS百科t's trivially easy to do this in an IDE, but I occasionally need to run tests on the command line on another server.


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


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


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


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
0

精彩评论

暂无评论...
验证码 换一张
取 消