运用Java JUnit结构里的@SuiteClasses注解办理测试用例

Suppose I have four test cases in my project, the total methods to be tested: 7

运用Java JUnit结构里的@SuiteClasses注解办理测试用例

Based on the blog Run only given sets of your unit test via @Category, it is possible to organize test methods within THE SAME CLASS to different categories via @Category, that is, the granularity to control which test methods should be executed is method level.

There is another annotation @SuiteClasses which can allows us to categorize test classes into different test suites, and once we specify a given test suite to be executed, all test classes within that suite would be executed one by one.

For example, I create a suite TestSuite1and2 and only put first and second test case into it, so when this test suite is executed, only three test methods ( 1 from first test case and 2 from second test case ) are executed:

运用Java JUnit结构里的@SuiteClasses注解办理测试用例

And the same logic for TestSuite2and3:

运用Java JUnit结构里的@SuiteClasses注解办理测试用例

If you need to integrate test suite execution into Maven, add the following parts in pom.xml:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>${runSuite}</include>
</includes>
</configuration>
</plugin>

Then use the following command line:

运用Java JUnit结构里的@SuiteClasses注解办理测试用例

You will get exactly the same result as in Eclipse:

运用Java JUnit结构里的@SuiteClasses注解办理测试用例

本文来自云栖社区合作伙伴“汪子熙”,了解相关信息能够重视微信大众号"汪子熙"。