Проверка Кобертуры не подводит сборку - PullRequest
0 голосов
/ 05 сентября 2018

Я создал базовый пакет maven. Каталог src / main / java содержит:

public class Blah {
    public int blah(){
        return 1;
    }

    public int bluh(){
        return 2;
    }
}

Каталог src / test / java содержит:

import static org.junit.Assert.assertEquals;


import org.junit.Test;


public class BlahTest {
    @Test
    public void blahTest() {
        Blah b = new Blah();
        assertEquals(1, b.blah());
    }
}

А пом выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>cob_test</groupId>
    <artifactId>cob_test</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>cobertura-maven-plugin</artifactId>
                <version>2.7</version>
                <configuration>
                    <check>
                        <haltOnFailure>true</haltOnFailure>
                        <branchRate>75</branchRate>
                        <lineRate>85</lineRate>
                        <totalBranchRate>75</totalBranchRate>
                        <totalLineRate>85</totalLineRate>
                        <packageLineRate>75</packageLineRate>
                        <packageBranchRate>85</packageBranchRate>
                    </check>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

</project>

Различные параметры в контрольной части не проверяются при запуске mvn install. Поскольку есть 2 функции, я ожидаю, что покрытие будет 50%, и ожидаемые минимумы покрытия выше, чем это. Итак, сборка не удалась. Кроме того, есть ли способ показать номера покрытия уровня пакета сразу после сборки в командной строке вместо того, чтобы включать их в html-файлы.

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

1 Ответ

0 голосов
/ 05 сентября 2018

Вы должны выполнить

mvn verify

для запуска cobertura, так как это запуск по умолчанию на этапе жизненного цикла verfiy.

Если вы хотите изменить это, вы можете изменить конфигурацию вашего плагина следующим образом (измените фазу с проверки по своему вкусу):

<project>
  <build>
     <plugins>
       <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>cobertura-maven-plugin</artifactId>
            <version>2.7</version>
            <configuration>
                <check>
                    <haltOnFailure>true</haltOnFailure>
                    <branchRate>75</branchRate>
                    <lineRate>85</lineRate>
                    <totalBranchRate>75</totalBranchRate>
                    <totalLineRate>85</totalLineRate>
                    <packageLineRate>75</packageLineRate>
                    <packageBranchRate>85</packageBranchRate>
                </check>
            </configuration>
            <executions>
              <execution>
                <phase>verify</phase>
                  <goals>
                    <goal>check</goal>
                  </goals>
              </execution>
            </executions>
        </plugin>
     </plugins>
  </build>
</project>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...