Door onderstaande aan je maven file toe te voegen kun je met een extra parameter in je Maven commando aangeven met welke omgeving config.properties de testen moeten draaien. Door meerdere profiles met verschillende <id> neer te zetten in de POM kun je aangeven welke config.properties vanuit je resources naar je target directory gekopieerd moet worden.
Dit kan erg handig zijn als je meerdere builds in bijvoorbeeld Jenkins wilt configureren voor meerdere testomgevingen.
Bronvermelding:
Maven commando met juiste parameter (-Ptst) om testomgeving te bepalen:
mvn clean test -Ptst
Voorbeeld profile (TST omgeving) die opgenomen kan worden in je Pom file:
<profiles>
<!-- TST profile -->
<profile>
<id>tst</id>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>generate-test-sources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<delete file="target/test-classes/config.properties"/>
<copy file="src/test/resources/config.tst.properties"
tofile="target/test-classes/config.properties"/>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20.1</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit4</artifactId>
<version>2.20.1</version>
</dependency>
</dependencies>
</plugin>
</plugins>
<finalName>TstEnvironment</finalName>
</build>
</profile>
</profiles>
<!-- TST profile -->
<profile>
<id>tst</id>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>generate-test-sources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<delete file="target/test-classes/config.properties"/>
<copy file="src/test/resources/config.tst.properties"
tofile="target/test-classes/config.properties"/>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20.1</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit4</artifactId>
<version>2.20.1</version>
</dependency>
</dependencies>
</plugin>
</plugins>
<finalName>TstEnvironment</finalName>
</build>
</profile>
</profiles>
Geen opmerkingen:
Een reactie posten