Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
MavenÖвâÊÔ²å¼þ(surefire)µÄÏà¹ØÅäÖÃ
 
×÷Õß wanghantong²©¿Í£¬»ðÁú¹ûÈí¼þ    ·¢²¼ÓÚ 2014-11-24
  5154  次浏览      28
 

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.

   
5154 ´Îä¯ÀÀ       28
     
 
Ïà¹ØÎÄÕÂ

ÏîÄ¿Á÷³Ì_IPD
EAÖеÄÏîÄ¿¹ÜÀí-¼Æ»®Óë¸ú×Ù
´óÐÍÏîÄ¿ÖеÄÃô½ÝÏîÄ¿¹ÜÀíʵ¼ù
Ãô½ÝÏîÄ¿¹ÜÀí¸ÅÊö
 
Ïà¹ØÎĵµ

IPDÌåϵ¿ò¼ÜϵÄÏîÄ¿¹ÜÀí
ÏîÄ¿¹ÜÀí»ù´¡ÓëÃô½Ý¿ª·¢ÈëÃÅ
ITÏîÄ¿¹ÜÀíÅàѵ
Èí¼þÏîÄ¿¹ÜÀí
 
Ïà¹Ø¿Î³Ì

Èí¼þ¿ª·¢¹ý³ÌÖеÄÏîÄ¿¹ÜÀí
»ùÓÚIPDµÄÏîÄ¿¹ÜÀí·½·¨Óëʵ¼ù
Ãô½ÝÏîÄ¿¹ÜÀíʵ¼ù
ÏîÄ¿¹ÜÀí¸ß¼¶Êµ¼ù
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

ÕýÊÓÑз¢¹ÜÀí²ÅÊǸßˮƽ¾ºÕù
ÐèÇóÊÇÈçºÎ±ä³É²úÆ·Ô­Ð͵Ä
²úÆ·¾­ÀíÄÜÁ¦Ä£Ðͽâ˵¡ª°Ñ¿Ø
²úÆ·¾­ÀíµÄÕýÈ·¶¨Î»
Ë­ÊǺϸñµÄ²úÆ·¾­Àí£¿
²úÆ·¹ÜÀíÓë²úÆ·ÓªÏúµÄÇø±ð


ͳһ¹ý³Ì¼°Ó¦ÓÃ
Ãô½Ý¹ý³Ìʵ¼ù
»ùÓÚXP/RUPµÄµü´ú¿ª·¢
Èí¼þ¿ª·¢¹ý³ÌÖ¸ÄÏ
SCRUM¹ý³Ìʵ¼ù
Ãô½Ý²âÊÔ-¼òµ¥¶ø¿ÉÐÐ


ij²©²ÊÆóÒµ ²úÆ·¾­ÀíÓë²úÆ·¹ÜÀí
±±¾© Ñз¢ÍŶÓÓ빤×÷¹ÜÀí
¹ã¶«½ð¸³ÐÅÏ¢ Ãô½Ý¿ª·¢¹ý³ÌÓëÏîÄ¿¹ÜÀí
ij֧¸¶Æ½Ì¨ Èí¼þÅäÖùÜÀíÓë·¢²¼¹ÜÀí
¸»Ê¿ Èí¼þÍâ°üÏîÄ¿¹ÜÀíÓë½ø¶È¹ÜÀí
ÈûæÚÄÍ »ùÓÚScrumµÄÃô½Ý¿ª·¢