tokuhirom's Blog

jenkins のときだけ一部テストを走らせたくない

なんか一部だけすげー重いテストだから jenkins では走らせたくないとか、異常なミドルウェアに依存しているから jenkins では走らせたくないとか そういう事情なときに、一部テストをスキップさせたい。

そんな時は profile を分ければ良い。ということが stackoverflow 見てたらわかった。

http://stackoverflow.com/questions/4389744/is-there-a-way-to-tell-surefire-to-skip-tests-in-a-certain-package

<properties>
    <exclude.tests>nothing-to-exclude</exclude.tests>
</properties>
<profiles>
    <profile>
        <id>fast</id>
        <properties>
        <exclude.tests>**/*Dao*.java</exclude.tests>
        </properties>
    </profile>
</profiles>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <excludes>
        <exclude>${exclude.tests}</exclude>
        </excludes>
    </configuration>
</plugin>

のようにして、jenkins では以下のようにする。

mvn -Pfast test

これで平穏な生活を送ることができる。