2012-03-26 33 views
0

在我的項目中,我將所有的集成(junit)和硒(testng)測試分隔到一個maven模塊中。測試通過父模塊上的maven執行。所以在集成/硒測試之前,建立主模塊並設置一些屬性。 (jenkins在每個版本上運行所有測試)如何從Maven項目中外化TestNG/Junit測試(sparatly)?

現在我需要運行此模塊的獨立於主模塊的測試(特別是硒測試必須在外部執行)。如何實現這一目標?是否有一個「jar -with-dependencies」用於測試。

回答

1

如果您已在主模塊上運行mvn install,則可以在集成測試模塊上運行mvn test命令(或用於運行Selenium測試的任何命令)。

+0

的問題是:這兩個模塊共享許多配置項目(除了它們之間的關係),所以在測試模塊上的mvn測試目前不起作用(安裝主模塊i足夠了)。問題是:他們是否在沒有maven的情況下運行測試?或者是否有Maven插件/目標在父級上運行,從而創建可運行的測試工件? – dermoritz 2012-03-26 15:13:53

+0

正常情況下,聲明對主模塊的依賴性就足夠了,但您必須提供有關共享配置的更具體示例。在最糟糕的情況下,您可以使用您的主項目的相對路徑在測試模塊中聲明您的配置路徑。 – 2012-03-26 15:16:34

+0

除了插件版本和一些屬性兩個模塊共享(僅在父pom中指定)父級,因此版本,公司POM,GROUPID。我的問題是:只運行一個模塊的最低要求是什麼?目前我必須安裝(除了maven)公司pom,父pom和主模塊才能運行測試。有沒有辦法給測試模塊一個替代的配置(對於外部環境) - 可能通過一個配置文件 - 降低了需求(沒有企業pom,沒有父pom),或者在最好的情況下沒有主模塊,也沒有mvn(一個jar對全部)。 – dermoritz 2012-03-27 10:28:19

0

下添加下面的標籤在你的POM

<dependency> 
<groupId>junit</groupId> 
<artifactId>junit</artifactId> 
<version>4.8.1</version> 
<scope>test</scope> 
</dependency> 

添加以下下

<testSourceDirectory>D:\eclipse_workspace\Utils_project\test_filelister</testSourceDirectory> 

添加的插件以下

<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-surefire-plugin</artifactId> 
<version>2.11</version> 
<configuration> 
    <test>**/*.java</test> 
</configuration> 
</plugin> 
+1

永遠不要在您的Maven構建中使用硬代碼路徑! – khmarbaise 2012-03-26 15:45:52

+0

@khmarbaise這是真的,但我覺得這會更容易理解 – 2012-03-26 16:11:18

相關問題