2010-06-27 43 views
5

我有兩個集成測試在一個maven項目 - 自動和手動測試。手動測試很少但是單調乏味 - 它們需要拉動服務器的插件等。我想爲手動測試創建一個單獨的目標,因此我可以運行諸如mvn manualtests之類的程序來運行手動測試。如果你只運行一個正常的maven build mvn install左右,應該運行自動測試。Maven - 添加自定義階段來執行與其他配置插件

我已經標註了TestNG的註釋@Test(groups="manual"手動測試。目標是現在有兩個配置的surefire插件,一個運行綁定到構建測試階段的自動測試,另一個運行手動測試,綁定到另一個我想稱爲manualtests的自定義階段。看起來好像不可能將插件的執行綁定到不存在的階段(即未由maven預定義的階段)。難以定義你自己的階段嗎?

回答

1

這應該是可能的,雖然不容易。第一步:看看它是如何默認完成的。

使用這種依賴性:

<dependency> 
    <groupId>org.apache.maven</groupId> 
    <artifactId>maven-core</artifactId> 
    <version>${maven.version}</version> 
</dependency> 

得到的來源和看一看META-INF /叢內的components.xml。在那裏,定義了默認階段和默認生命週期/階段綁定。

創建一個覆蓋這些默認階段(在它自己的components.xml)插件和define it as an extension

+0

不容易的...也許一個可以製作一個可以根據插件配置動態添加生命週期的插件。我會仔細看看的。 – 2010-07-02 14:31:57

相關問題