开发者

Maven Surefire: run a single unit test

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

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜