4
respostas

Relatório Jacoco utilizando última versão do junit fica no 0%

Boa noite.

Segui os passos apontados no curso e o relatório do jacoco foi gerado sem problemas com a versão do junit 4.12, porém se eu utilizar a versão 5.5.0-RC2, o relatório é gerado sempre apontando 0%.

Segue minha classe Produto.

package br.com.alura.maven;
public class Produto{

    private final String nome;
    private final Double preco;

    public Produto(String nome, Double preco) {
        super();
        this.nome = nome;
        this.preco = preco;
    }

    public String getNome() {
        return this.nome;
    }

    public Double getPreco() {
        return this.preco;
    }

    public Double getPrecoComImposto() {

        return this.getPreco()*1.10;

    }

}

Classe ProdutoTest

package br.com.alura.maven;

import static org.junit.jupiter.api.Assertions.assertEquals;

import org.junit.jupiter.api.Test;

/**
 * Unit test for simple App.
 */
public class ProdutoTest{

    @Test
    public void verificaTesteComImposto() {

        Produto produto = new Produto("Bala Juquinha Amarela", 0.10);
        assertEquals(0.11, produto.getPrecoComImposto());

    }


}

Arquivo pom.xml

<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/maven-v4_0_0.xsd">
  <properties>
    <maven.compiler.source>1.6</maven.compiler.source>
    <maven.compiler.target>1.6</maven.compiler.target>
  </properties>
  <modelVersion>4.0.0</modelVersion>
  <groupId>br.com.alura.maven</groupId>
  <artifactId>produtos</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>produtos</name>
  <url>http://maven.apache.org</url>
  <dependencies>
<!--     <dependency> -->
<!--         <groupId>junit</groupId> -->
<!--         <artifactId>junit</artifactId> -->
<!--         <version>4.12</version> -->
<!--         <scope>test</scope> -->
<!--     </dependency> -->
    <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.5.0-RC2</version>
        <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.thoughtworks.xstream/xstream -->
    <dependency>
      <groupId>com.thoughtworks.xstream</groupId>
      <artifactId>xstream</artifactId>
      <version>1.4.11.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> 
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.8.5</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <version>3.12.0</version>
            <executions>
                <execution>
                    <phase>verify</phase>
                    <goals>
                        <goal>check</goal>            
                    </goals>        
                </execution>
            </executions>      
        </plugin>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.4</version>
            <executions>
                <execution>
                    <goals>
                        <goal>prepare-agent</goal>
                        <goal>report</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
  </build>
</project>

Obs. A dependência comentada é referente a versão mais antiga do junit, que funciona normalmente.

Para compilar corretamente com a versão mais nova do junit, é necessário uma breve alteração na classe ProdutoTest.java, o assertEquals deve ficar assim:

assertEquals(0.11, produto.getPrecoComImposto());

Não é necessário o terceiro parâmetro.

Espero que possam me ajudar, pois não faço idéia do porquê o relatório não é gerado corretamente com esta versão do junit mais recente.

Abraços,

Anderson Barbosa

4 respostas

Ainda aguardando resposta.

UP UP

Com a versão 5.4.2 também dá esse problema? Essa 5.5.0-RC2 ainda é uma release candidate.

Boa Tarde Otávio.

Sim, com esta versão 5.4.2 o problema persiste. Você conseguiu gerar o relatório com as porcentagens, utilizando esta versão?

Obs. O relatório é gerado, só que é gerado com as porcentagens em 0%.