1.
ÔÚMavenÖÐÅäÖòâÊÔ²å¼þsurefire
<plugin> 02. <groupId>org.apache.maven.plugins</groupId> 03. <artifactId>maven-surefire-plugin</artifactId> 04. <version>2.17</version> 05.</plugin> |
2. ĬÈϱ»Ö´ÐеIJâÊÔ
ĬÈÏÇé¿öÏ£¬surefire»áÖ´ÐÐÎļþÃûÒÔTest¿ªÍ·»ò½áβµÄ²âÊÔÓÃÀý£¬»òÕßÊÇÒÔTestCase½áβµÄ²âÊÔÓÃÀý¡£
"**/Test*.java" - includes all of its subdirectories and all java filenames that start with "Test". 02."**/*Test.java" - includes all of its subdirectories and all java filenames that end with "Test". 03."**/*TestCase.java" - includes all of its subdirectories and all java filenames that end with "TestCase".</span>
|
3. Ìø¹ý²âÊÔ Skipping Tests
<build> 02. <plugins> 03. <plugin> 04. <groupId>org.apache.maven.plugins</groupId> 05. <artifactId>maven-surefire-plugin</artifactId> 06. <version>2.17</version> 07. <span style="color:#009900;"> <configuration> 08. <skipTests>true</skipTests> 09. </configuration></span> 10. </plugin> 11. </plugins> 12. </build> 13. 14.²¹³ä£ºÈç¹ûʹÓÃJunit»òÕßTestNGÒ²¿ÉÒÔÖ±½ÓÔÚµ±Ç°²âÊÔ·½·¨ÉϼÓ×¢½â@IgnoreºöÂÔ£¬ÕâÊǼÓÁ˸Ã×¢½âµÄÒ²¶¼»á±»skip
|
4. Åųý²âÊÔ Exclusions £¨Junit & TestNG
ͨÓã©
<build> 02. <plugins> 03. <plugin> 04. <groupId>org.apache.maven.plugins</groupId> 05. <artifactId>maven-surefire-plugin</artifactId> 06. <version>2.17</version> 07. <configuration> 08. <span style="color:#009900;"> <excludes> 09. <exclude>**/TestCircle.java</exclude> 10. <exclude>**/TestSquare.java</exclude> 11. </excludes></span> 12. </configuration> 13. </plugin> 14. </plugins> 15. </build>
|
5. ½öÖ´ÐÐÒ»¸ö/Ò»Àà²âÊÔ(repeat) Running a Single
Test £¨Junit & TestNG ͨÓã©
ÔÚ¿ª·¢¹ý³ÌÖÐÅäÖÃÃüÁ
mvn -Dtest=TestCircle test test±íʾµ±Ç°²âÊÔ·½·¨ËùÔڵIJâÊÔÀ࣬
²»ÐèÒªÀ©Õ¹Ãû The value for the test parameter is the name of the test class mvn -Dtest=TestCi*le test *±íʾÈκΠmvn -Dtest=TestSquare,TestCi*le test Èç¹û²âÊÔÀàûÓÐʹÓù淶µÄÃüÃû£¬¿ÉÒÔÏÔʾµÄÖ±½ÓÖ¸¶¨²âÊÔ·½·¨µÄÃû³Æ |
Running a set of methods in a Single Test Class 02. 03.With version 2.7.3, you can run only n tests in a single Test Class. 04. NOTE : it's supported for junit 4.x and TestNG. 05.You must use the following syntax 06.mvn -Dtest=TestCircle#mytest test 07.You can use patterns too 08.mvn -Dtest=TestCircle#test* test 09.As of surefire 2.12.1, you can select multiple methods (JUnit4X only at this time, patches welcome) 10.mvn -Dtest=TestCircle#testOne+testTwo test
|
6. ÈçºÎʹÓÃTestNG
<dependency> 02. <groupId>org.testng</groupId> 03. <artifactId>testng</artifactId> 04. <version>6.3.1</version> 05. <scope>test</scope> 06. </dependency>
|
If using an older version of TestNG (<= 5.11) 02. <dependency> 03. <groupId>org.testng</groupId> 04. <artifactId>testng</artifactId> 05. <version>5.11</version> 06. <scope>test</scope> 07. <span style="color:#009900;"> <classifier>jdk15</classifier></span> 08. </dependency>
|
ĬÈÏ»áÖ´ÐеIJâÊÔÓÃÀý£º*Test.java
7. ÈçºÎʹÓÃTestNGµÄ suite
<plugin> 02. <groupId>org.apache.maven.plugins</groupId> 03. <artifactId>maven-surefire-plugin</artifactId> 04. <version>2.17</version> 05. <configuration> 06. <span style="color:#009900;"><suiteXmlFiles> 07. <suiteXmlFile>testng.xml</suiteXmlFile> 08. </suiteXmlFiles></span> 09. </configuration> 10. </plugin>
|
×¢Ò⣺This configuration will override
the includes and excludes patterns and run all tests
in the suite files.
8. Ö´ÐÐȺ×é²âÊÔ execute one or more specific
groups £¨Junit & TestNG ͨÓã©
<plugin> 02. <groupId>org.apache.maven.plugins</groupId> 03. <artifactId>maven-surefire-plugin</artifactId> 04. <version>2.17</version> 05. <configuration> 06. <span style="color:#009900;"> <groups>functest,perftest</groups></span> 07. </configuration> 08. </plugin>
|
9. ¶àÏ̵߳ÄÔËÐвâÊÔÓÃÀý Running tests in parallel
£¨Junit & TestNG ͨÓã©
<plugin> 02. <groupId>org.apache.maven.plugins</groupId> 03. <artifactId>maven-surefire-plugin</artifactId> 04. <version>2.17</version> 05. <configuration> 06. <span style="color:#009900;"><parallel>methods</parallel> 07. <threadCount>10</threadCount></span> 08. </configuration> 09. </plugin>
|
10. ÈçºÎʹÓÃJunit Using JUnit
01.<dependency> 02. <groupId>junit</groupId> 03. <artifactId>junit</artifactId> 04. <version>4.8.1</version> 05. <scope>test</scope> 06. </dependency>
|
11. ÈçºÎʹÓÃJunit Category Using JUnit Categories
<plugin> 02. <artifactId>maven-surefire-plugin</artifactId> 03. <version>2.11</version> 04. <configuration> 05. <span style="color:#009900;"> <strong><groups>com.mycompany.SlowTests</groups></strong></span> 06. </configuration> 07. </plugin>
|
½öÓдø¸Ã×¢½âµÄ²âÊÔ »òÕß Êǵ±Ç°×¢½â Àà/½Ó¿ÚµÄ ×ÓÀà »á±»Ö´ÐУ¬This
will execute only those tests annotated with the @Category(com.mycompany.SlowTests.class)
annotation and
those tests annotated with @Category(com.mycompany.SlowerTests.class)
if class/interface SlowerTests is subclass of SlowTests:
public interface SlowTests{} 02.public interface SlowerTests extends SlowTests{} 03.---------------------------------- 04.ic class AppTest { 05. @Test 06. @Category(com.mycompany.SlowTests.class) 07. public void testSlow() { 08. System.out.println("slow"); 09. } 10. 11. @Test 12. @Category(com.mycompany.SlowerTests.class) 13. public void testSlower() { 14. System.out.println("slower"); 15. } 16. 17. @Test 18. @Category(com.cmycompany.FastTests.class) 19. public void testSlow() { 20. System.out.println("fast"); 21. } 22.}
|
12. ÈçºÎdebug TestCases
mvnDebug -DforkCount=0 test dubug·ÇforkµÄ²âÊÔ 02.ÔÚdebugµÄÐèÇóʱ£¬»¹ÊÇʹÓÃEclipse×î·½±ã
|
13. ʹÓÃϵͳÊôÐÔ Using System Properties
01.<build> 02. <plugins> 03. <plugin> 04. <groupId>org.apache.maven.plugins</groupId> 05. <artifactId>maven-surefire-plugin</artifactId> 06. <version>2.17</version> 07. <configuration> 08. <span style="color:#009900;"><systemPropertyVariables> 09. <propertyName>propertyValue</propertyName> 10. <buildDirectory>${project.build.directory}</buildDirectory> 11. [...] 12. </systemPropertyVariables></span> 13. </configuration> 14. </plugin> 15. </plugins> 16. </build>
|
14. Ñ¡Ôñsurefire provider
surefire ĬÈÏ»á¸ù¾Ý¹¤³ÌµÄclasspathÖÐÒÑÓеÄJunit|TestNGµÄ°æ±¾À´Ñ¡Ôñ
test-framework provider£¬ÎÒÃÇÒ²¿ÉÒÔÊÖ¶¯µÄÑ¡ÔñºÍ¸²¸Çµ±Ç°µÄprovider
<plugin> 02. <groupId>org.apache.maven.plugins</groupId> 03. <artifactId>maven-surefire-plugin</artifactId> 04. <version>2.17</version> 05. <dependencies> 06. <dependency> 07. <groupId>org.apache.maven.surefire</groupId> 08. <span style="color:#009900;"> <artifactId>surefire-junit47</artifactId></span> 09. <version>2.17</version> 10. </dependency> 11. </dependencies> 12. </plugin>
|
ĿǰÒѾÌṩµÄproviderÓÐsurefire-junit3, surefire-junit4,
surefire-junit47 and surefire-testng.
|