TL; DR:使用maven,我想在test
階段開始時運行插件目標,然後才能運行測試。什麼是乾淨的方式來做到這一點?在默認狀態之前運行插件目標
我想在測試實際運行之前打印消息。因此,我想在測試階段開始時使用echo plugin的echo
目標(告訴用戶如果每次測試都失敗了,他最好看一看README
,因爲他應該首先設置一個測試環境)
嘗試N°1
一個簡單的方法可以是在運行the previous phase這個插件,process-test-classes
。
它的工作原理,但它似乎並沒有語義正確的把這個任務給這個階段綁定...
嘗試N°2
據Maven documentation,When multiple executions are given that match a particular phase, they are executed in the order specified in the POM, with inherited executions running first.
,所以我試圖設置明確surefire
插件:
...
<plugin>
<groupId>com.soebes.maven.plugins</groupId>
<artifactId>maven-echo-plugin</artifactId>
<version>0.1</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>echo</goal>
</goals>
</execution>
</executions>
<configuration>
<echos>
<echo>*** If most tests fail, make sure you've installed the fake wiki. See README for more info ***</echo>
</echos>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
...
但是測試運行之前,我的郵件打印。
所以,簡而言之:有沒有辦法達到我的目標,還是應該堅持「process-test-classes
解決方案」,即使它看起來有點「哈克」?
謝謝!
那豈不是更好您的測試之前檢查假冒維基的存在?除此之外,它聽起來像運行集成測試而不是單元測試。 – khmarbaise