В Maven: как отобразить подробные результаты теста SureFire (преобразовать из xml в html)?

Как заставить Maven / SureFire создавать отчеты о тестировании HTML вместо XML? для SureFire, PMD и остальных инструментов контроля качества.

Так это выглядело бы как здесь.

Я думаю, что документация по использованию может указать вам правильное направление - maven.apache.org/surefire/maven-surefire-report-plugin/…. Или вы наблюдаете какую-то другую проблему?

Nick DeFazio 01.05.2018 22:43

Спасибо, Ник, есть ли универсальный плагин Maven, который преобразует отчеты XML (из других плагинов) в HTML? ссылка в исходном сообщении показывает все отчеты в HTML, то есть PMD, Sonar, CheckStyle FindBugs

Tlink 02.05.2018 00:59

Хм, я не совсем понимаю, что вам нужно. Вы ищете единственный плагин, который конвертирует любой старый xml-отчет в html? Включая отчеты (например, покрытие кода), которые могут не поддерживаться плагином надежных отчетов?

Nick DeFazio 02.05.2018 01:30

да, именно так

Tlink 02.05.2018 01:41

Насколько я понимаю, плагин surefire report будет представлять только то, что он перечисляет в указанной вами ссылке на отчеты по проекту, но не "любой" xml-отчет, который вы ему добавляете. Но я думаю, что этот плагин предоставит вам то, что вам нужно, если нет определенного типа отчета, для которого вы хотели бы получить поддержку.

Nick DeFazio 02.05.2018 03:23

Я пока буду работать с этим, спасибо. Я приму ваше предложение, если вы добавите его в качестве ответа.

Tlink 02.05.2018 13:14
Не удалось выполнить цель org.apache.maven.plugins
Не удалось выполнить цель org.apache.maven.plugins
Опишу, что когда я только начинал изучать Maven, у меня не получалось компилировать и упаковывать.
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Если вы являетесь веб-разработчиком или тестировщиком, вы можете быть знакомы с Selenium, популярным инструментом для автоматизации работы...
1
6
3 166
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Судя по нашему разговору выше, похоже, что вы ищете все в одном преобразованном XML -> HTML. Я не знаю такого плагина, но я считаю, что плагин surefire report в сочетании с одним или двумя другими доставит вас туда, где вам нужно.

Для начала я бы посмотрел на документация по использованию плагина surefire-report. Кроме того, я собрал быстрый пример того, как вы можете начать работу, объединив плагины для отчетов surefire, pmd и surefire:

Используя следующую структуру проекта:

├── pom.xml
└── src
    ├── main
    │   ├── java
    │   │   ├── Main.java
    │   │   └── SomeClass.java
    │   └── resources
    └── test
        └── java
            └── SampleTest.java

И эти определения классов:

SomeClass.java

import java.util.List; //Unused import, so PMD will have something to pick up

public class SomeClass {

    public void testMethod(){
        System.out.println("This is my test method with some PMD violations");
    }
}

SampleTest.java

import org.junit.Assert;
import org.junit.Test;

//Sample tests, so the surefire report will have something to show
public class SampleTest {

    @Test
    public void test1(){
        Assert.assertTrue(true);
    }

    @Test
    public void test2(){
        Assert.assertTrue(false);
    }
}

и, наконец, pom.xml

<?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>sample</groupId>
    <artifactId>plugins</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-surefire-plugin -->
        <dependency>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.21.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/junit/junit -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.21.0</version>
            </plugin>
        </plugins>
    </build>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>3.9.0</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.21.0</version>
            </plugin>
        </plugins>
    </reporting>
</project>

В результате, когда я бегу

mvn clean pmd:pmd site

Затем я могу открыть созданный сайт:

open target/site/index.html

Оттуда я могу видеть свои сгенерированные отчеты, в моем случае только отчеты о тестах PMD и surefire: Landing

PMD

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

Спасибо, Ник, очень подробный и элегантный ответ

Tlink 02.05.2018 13:51

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