我有一個包含一些測試的項目,它所做的只是創建一個test-jar
以由其他項目運行。而且它依賴於一個又一個神器,讓我們稱之爲神器X
依賴注入和測試
則是運行test-jar
多個其他項目,使用maven-surefire-plugin
我有神器X
的多個實現,我想要做的就是能夠使用我想要的實現,而不是X
例如要運行這些測試:
項目A
我想運行使用實施0123測試
B
我想用實施運行的測試B
這似乎並不可能,因爲一旦產生test-jar
,它擁有神器X
硬編碼在它
所以我接受任何其他的解決方案
編輯:
額外的信息:
個項目的POM文件生成測試:
部分用於生成test-jar
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
神器X
依賴性:
<dependency>
<groupId>com.conztanz</groupId>
<artifactId>X</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
的一個項目的POM文件運行測試(項目A
):
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.15</version>
<configuration>
<dependenciesToScan>
<dependency>testJar</dependency>
</dependenciesToScan>
</configuration>
</plugin>
</plugins>
</build>
理想情況下我要的是做一些事,告訴項目A
到Override
神器X
與它自己的執行
我希望這是現在更有意義
這對我來說太抽象了。也許你可以發佈各種'pom.xml'的相關部分,以及簡化的項目結構? – Stewart
好吧我會添加一些例子 – isco