Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
0800 1 255 255

Integration von jsTestDriver in Maven

Neben Plugins für Entwicklungsumgebungen wie Eclipse, Visual Studio und IntelliJ gibt es auch ein Plugin für Maven das in der Version 1.3.2.5 ver­füg­bar ist. Die fol­gen­den Code-Beispiele zur Konfiguration von jsTestDriver beru­hen auf Maven 3.

Plugin-Repository

Folgendes Plugin-Repository muss glo­bal in der settings.xml oder auf Projektebene in der pom.xml hin­zu­ge­fügt wer­den.

<pluginRepository>
    <id>jstd-maven-plugin google code repo</id>
    <url>http://jstd-maven-plugin.googlecode.com/svn/maven2</url>
</pluginRepository>

Plugin

Das Plugin kann inner­halb des <plugins> Elements ange­ord­net wer­den. Ein Element <pluginManagement> um das <plugins> Element bewirkt, dass das Plugin in Kind-Projekten ver­wen­det wer­den kann, ohne die­ses expli­zit noch­mal ein­bin­den zu müssen.

<pluginManagement>
    <plugins>
        <plugin>
            <groupId>com.google.jstestdriver</groupId>
            <artifactId>maven-jstestdriver-plugin</artifactId>
            <version>1.3.2.5</version>
        </plugin>
    </plugins>
</pluginManagement>

Properties

Um die Konfiguration an einer Stelle zu kap­seln, kön­nen Maven-Eigenschaften ange­legt wer­den. Diese kön­nen unter ande­rem beim Element <exe­cu­tion> ver­wen­det wer­den. So muss falls sich der Port des Servers ändert, die­ser nur an einer Stelle ange­passt werden.

<properties>
    <jsTD.version>1.3.2.5</jsTD.version>
    <jsTD.port>9876</jsTD.port>
    <jsTD.runnerMode>INFO</jsTD.runnerMode>
    <jsTD.verbose>false</jsTD.verbose>
    <jsTD.reset>true</jsTD.reset>
</properties>

Execution

Im Plugin lässt sich zur Ausführung eine <exe­cu­tion> ange­ben. Damit lässt sich einer­seits das Ausführungsziel (Goal) fest­le­gen, ande­rer­seits lässt sich das jsTestDriver-Plugin (mit den oben genann­ten Properties) konfigurieren.

<executions>
    <execution>
        <goals>
            <goal>test</goal>
        </goals>
        <configuration>  
            <server>http://localhost:${jsTD.port}</server>
            <config>${project.parent.basedir}/${project.artifactId}/jsTestDriverModule.conf</config>
            <basePath>${project.parent.basedir}/${project.artifactId}/src</basePath>  
            <runnerMode>${jsTD.runnerMode}</runnerMode>  
            <verbose>${jsTD.verbose}</verbose>  
            <jar>${project.parent.basedir}/JsTestDriver.jar</jar>  
            <reset>${jsTD.reset}</reset>
            <testOutput>${project.parent.basedir}/${project.artifactId}/output</testOutput>
        </configuration>
    </execution>
</executions>

Die Eigenschaften mit dem pro­ject am Anfang sind native Maven-Eigenschaften die zur Konfiguration ver­wen­det wer­den kön­nen. Die Konfigurationselemente sind die sel­ben, die in der Konfigurationsdatei von jsTestDriver ver­wen­det wer­den können.

31. Januar 2012

Pin It on Pinterest