У меня есть небольшое приложение Maven, которое использует JaCoCo для отчета о покрытии теста. Я продолжаю получать следующую ошибку:JaCoCo отсутствует исполняемый выпуск
Skipping JaCoCo execution due to missing execution data file
Вот мой файл POM.xml. Я сам удалил элемент проекта.
<modelVersion>4.0.0</modelVersion>
<groupId>de.mathema.www</groupId>
<artifactId>jacoco_sample_app</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>jacoco_sample_app</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.6.201602180812</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Вот мой главный класс, который находится под src/main/java
структурой:
public class Punkt {
private Double x;
private Double y;
public Punkt(Double x,Double y) {
this.x = x;
this.y = y;
}
public Punkt(Punkt zweiterPunkt) {
this.x = zweiterPunkt.x;
this.y = zweiterPunkt.y;
}
public Double getX() {
return x;
}
public void setX(Double x) {
this.x = x;
}
public Double getY() {
return y;
}
public void setY(Double y) {
this.y = y;
}
public boolean punkteVergleichen(Punkt zweiterPunkt) {
return this.getX().equals(zweiterPunkt.getX()) &&
this.getY().equals(zweiterPunkt.getY());
}
public String toString() {
return "("+this.x+","+this.y+")";
}
}
А вот класс с юнит-тестов, которые находятся под src/test/java
структурой:
public class PunktUnitTests {
@Test
public void PunkteVergleichen() throws Exception {
//a(10.0, 20.0)
Punkt a = new Punkt(10.0,20.0);
//b(30.0,40.0)
Punkt b = new Punkt(30.0,40.0);
//Der Fall X1!=X2 und Y1!=Y2
//a(10.0,20.0) und b(30.0,40.0) sind unterschiedlich
assertFalse(a.punkteVergleichen(b));
//Der Fall X1 == X2 && Y1 == Y2
//a(10.0,20.0) und c(10.0,20.0) sind gleich
Punkt c = new Punkt(a);
assertTrue(a.punkteVergleichen(a));
//Der Fall X1 == X2 && Y1 != Y2
//a(10.0,20.0) und c(10.0,90.0) sind unterschiedlich
c.setX(10.0);c.setY(90.0);
assertFalse(a.punkteVergleichen(c));
}
}
Как я могу решите эту проблему?
Какую команду вы использовали для запуска Maven? Я не могу воспроизвести это с помощью 'mvn clean package', например. – Tunaki
mvn clean install – user1107888
Можете ли вы показать структуру каталогов, которые вы используете для своего теста? Где они расположены? Что находится под 'src/test/java'? – Tunaki