在 Maven 中測試

Maven 工作中的另一個重要點是測試階段。如果您運行testpackageverify或它們之後的任何其他階段,它將被執行。

默認情況下,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>