我想Maven只有在定義參數時才運行測試階段。 例如:Maven:在運行測試之前檢查參數
mvn test -Dserver=hosname
如果沒有指定的服務器(或空) - 我不想試運行(而不是在MVN測試,也沒有在MVN安裝)。
我該怎麼做?我如何在代碼中獲取參數的值(例如「server」)?
我想Maven只有在定義參數時才運行測試階段。 例如:Maven:在運行測試之前檢查參數
mvn test -Dserver=hosname
如果沒有指定的服務器(或空) - 我不想試運行(而不是在MVN測試,也沒有在MVN安裝)。
我該怎麼做?我如何在代碼中獲取參數的值(例如「server」)?
檔案可以做,在行家ü想要什麼
爲前:
<profiles>
<profile>
<id>server</id>
<activation>
<property>
<name>server</name>
<value>${hosname}</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.2</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
假設你正在使用JUnit:
Assume
檢查的屬性(見下文@BeforeClass
),並跳過測試的屬性爲null。
public class RunIfServerProperty {
@BeforeClass
public static void oneTimeSetup() {
Assume.assumeNotNull(System.getProperty("server"));
}
}
輪廓可以這樣使用:
<profiles>
<profile>
<activation>
<property>
<name>server</name>
</property>
</activation>
<!-- do whatever you need to do -->
</profile>
</profiles>
使用配置文件這是由設置'skipTests = true'的上述變量激活的?但這聽起來更像是一個集成測試,而不是單元測試。 – khmarbaise
這是集成測試。你能否提供一個使用配置文件的例子? – Jonathan