Cobertura проверяет неудачу на Travis CI

В моей сборке Maven я использую Cobertura, чтобы проверить наличие определенного минимального покрытия:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>cobertura-maven-plugin</artifactId>
    <version>2.5.2</version>
    <configuration>
        <check>
            <branchRate>100</branchRate>
        </check>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>cobertura</goal>
                <goal>check</goal>
            </goals>
        </execution>
    </executions>
</plugin>

При беге mvn install, это работает нормально. Однако в Travis CI сборка завершается неудачно, потому что сначала запускается Travismvn install -DskipTests=true чтобы получить зависимости. Очевидно, что когда тесты пропускаются, покрытие отсутствует, и поэтому вся сборка завершается неудачно:

[ERROR] ch.trick17.betterchecks.fluent.StringCheck failed check. Branch coverage rate of 0.0% is below 100.0%
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
...
[ERROR] Failed to execute goal org.codehaus.mojo:cobertura-maven-plugin:2.5.2:check (default) on project better-checks-core: Coverage check failed. See messages above. -> [Help 1]

Можно ли как-то настроить Cobertura, чтобы пропустить проверку, если тесты пропущены? Или есть другое решение, может быть, на стороне Трэвиса?


Вот мой .travis.yml файл:

language: java

jdk:
  - openjdk6
  - openjdk7
  - oraclejdk7
  - oraclejdk8

script: "mvn install"

2 ответа

Решение

Вы можете включить это с помощью: install: true который пропускает этап установки.

В качестве альтернативы ответу kmarbaise, вместо того, чтобы полностью отключить этап установки, вы можете заменить его настройкой так, чтобы он пропускал проверку Cobertura:

install: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -Dcobertura.skip=true -B -V

Таким образом, выходные данные вашего фактического сценария сборки не будут загромождены результатами загрузки зависимостей и подключаемых модулей Maven.

Другие вопросы по тегам