在 Maven 中測試
Maven 工作中的另一個重要點是測試階段。如果您運行test、package、verify或它們之後的任何其他階段,它將被執行。
默認情況下,Maven 將運行src/test/java/文件夾中的所有測試。為了將要運行的測試與其他 java 文件區分開來,採用了命名約定。測試是名稱以“Test”開頭並以“Test”或“TestCase”結尾的 Java 類。
測試名稱的一般模式:
- **/測試*.java
- **/*測試.java
- **/*測試用例.java
這些測試必須基於Junit或 TestNG 測試框架編寫。這些都是非常酷的框架,我們稍後一定會談到它們。
測試結果以 .txt 和 .xml 格式的報告形式保存在 ${basedir}/target/surefire-reports 目錄中。
測試設置
運行測試通常有很多選項,因此Maven開發人員製作了一個特殊的插件,在參數中可以設置所有關於測試的詳細信息。該插件稱為Maven Surefire 插件,可在.
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
<configuration>
<includes>
<include>Sample.java</include>
</includes>
</configuration>
</plugin>
</plugins>
在示例中,我們告訴插件它需要運行一個測試類 Sample.java。
如何快速消除損壞的測試
要運行項目進行測試,您需要運行 mvn test 命令。但更多時候需要將一些測試排除在測試之外。例如,它們可能已損壞、運行時間過長或出於任何其他原因。
首先,您可以簡單地告訴 Maven 在執行構建階段時跳過測試。例子:
mvn clean package -Dmaven.test.skip=true
其次,在插件配置中,您可以禁用測試的執行:
<configuration>
<skipTests>true</skipTests>
</configuration>
第三,可以使用<exclude>標籤排除測試。例子:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
<configuration>
<excludes>
<exclude>**/TestFirst.java</exclude>
<exclude>**/TestSecond.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
GO TO FULL VERSION