精华内容
下载资源
问答
  • 我有一个使用Maven构建项目,最近集成了Sonar …配置Sonar来分析您项目确实很容易,但是我无法配置它来运行项目单元测试.我用Jacoco尝试了一些操作,但是出现了一些Seam错误,所有其他测试都被跳过了.顺便说一下...

    我有一个使用Maven构建的项目,最近集成了Sonar …配置Sonar来分析您的项目确实很容易,但是我无法配置它来运行我的项目单元测试.我用Jacoco尝试了一些操作,但是出现了一些Seam错误,所有其他测试都被跳过了.顺便说一下,我正在使用TestNG手动运行测试.

    最佳答案

    声纳无法运行测试,只能分析测试报告.

     

    您可以运行自己的JUnit(例如,使用Maven或Ant)并将报告推送到Sonar(为此尝试Sonar的Maven plugin)

    或者您可以给自己建一个工厂(例如,尝试hudson)并将其插入sonar.

    展开全文
  • maven 几年前,我写了一篇博客文章,介绍如何在SonarQube中生成测试报告,该报告独立于单元测试和集成测试测试报告中。 从SonarQube 6.2开始,测试报告不再在这些类别中分开(请参阅SonarQube博客文章)。 ...
    maven

    maven

    几年前,我写了一篇博客文章,介绍如何在SonarQube中生成测试报告,该报告独立于单元测试和集成测试的测试报告中。 从SonarQube 6.2开始,测试报告不再在这些类别中分开(请参阅SonarQube的博客文章)。 SonarQube将所有测试报告合并为一份涵盖整体的测试报告。 因此,如果您在Maven项目中将单元测试(由Maven Surefire插件运行)和集成测试(由Maven Failsafe插件运行)分开进行测试,那么如何配置JaCoCo Maven插件。

    在以下各节中,提出了满足以下条件的解决方案:

    • Maven被用作构建工具。
    • 该项目可以是多模块项目。
    • 单元测试和集成测试是每个模块的一部分。
    • 测试覆盖率是通过JaCoCo Maven插件来衡量的。

    下一部分的路线图是,首先显示了Maven项目结构,用于单元测试和集成测试的分离。 然后显示了Maven项目配置,其中包含单独的单元测试运行和集成测试运行。 之后,我们来看看Maven项目配置以生成涵盖单元测试和集成测试的测试报告。 最后,SonarQube的仪表板中显示了SonarQube的配置,用于测试报告的可视化。

    Maven项目结构

    首先,我们看一下默认的Maven项目结构在单个模块项目中的样子。

     my-app
     ├── pom.xml
     ├── src
     │  ├── main
     │  │  └── java
     │  └── test
     │      └── java
    

    目录src / main / java包含生产源代码,目录src / test / java包含测试源代码。 我们可以将单元测试和集成测试放到这个目录中。 但是我们想将这两种类型的测试放在单独的目录中。 因此,我们添加了一个名为src / it / java的新目录 然后将单元测试放在src / test / java目录中,并将集成测试放在src / it / java目录中因此新的项目结构如下图所示。

     my-app
     ├── pom.xml
     ├── src
     │  ├── it
     │  │  └── java
     │  ├── main
     │  │  └── java
     │  └── test
     │      └── java
    

    单元和集成测试运行

    幸运的是,单元测试运行配置是Maven默认项目配置的一部分。 如果满足以下条件,Maven将自动运行这些测试:

    • 测试位于目录src / test / java
    • 测试类名称以Test开头或以TestTestCase结尾

    Maven在Maven的构建生命周期阶段测试中运行这些测试

    集成测试运行配置必须手动完成。 它存在可以提供帮助的Maven插件。 我们希望满足以下条件:

    • 集成测试存储在目录src / it / java
    • 集成测试类名称要么以IT开头,要么以ITITCase结尾
    • 集成测试在Maven的构建生命周期阶段进行集成测试。

    首先,Maven必须知道它必须在其测试类路径中包含目录src / it / java 在这里,Build Helper Maven插件可以提供帮助。 它将目录src / it / java添加到测试类路径。

     < plugin >
    
                    < groupId >org.codehaus.mojo</ groupId >
    
                    < artifactId >build-helper-maven-plugin</ artifactId >
    
                    < version >3.1.0</ version >
    
                    < executions >
    
                        < execution >
    
                            < goals >
    
                                < goal >add-test-source</ goal >
    
                                < goal >add-test-resource</ goal >
    
                            </ goals >
    
                            < configuration >
    
                                < sources >
    
                                    < source >src/it/java</ source >
    
                                </ sources >
    
                                < resources >
    
                                    < resource >
    
                                        < directory >src/it/resources</ directory >
    
                                    </ resource >
    
                                </ resources >
    
                            </ configuration >
    
                        </ execution >
    
                    </ executions >
    
                </ plugin >
    

    上面的代码段必须插入到项目根pom中的<project> <build> <plugins>部分

    Maven的构建生命周期包含一个称为集成测试的阶段 在此阶段,我们要运行集成测试。 幸运的是,当在POM中设置Maven故障安全插件的目标集成测试时,它会自动绑定到此阶段。 如果您希望在集成测试失败时构建失败,那么还必须将目标验证添加到POM中:

     < plugin >
    
                    < groupId >org.apache.maven.plugins</ groupId >
    
                    < artifactId >maven-failsafe-plugin</ artifactId >
    
                    < version >3.0.0-M4</ version >
    
                    < configuration >
    
                        < encoding >${project.build.sourceEncoding}</ encoding >
    
                    </ configuration >
    
                    < executions >
    
                        < execution >
    
                            < goals >
    
                                < goal >integration-test</ goal >
    
                                < goal >verify</ goal >
    
                            </ goals >
    
                        </ execution >
    
                    </ executions >
    
                </ plugin >
    

    同样,以上代码片段也必须插入到项目根pom中的<project> <build> <plugins>部分 然后,当Maven故障保护插件的类名称以IT开头或以ITITCase结尾时,它们会自动运行集成测试

    测试报告生成

    我们想使用JaCoCo Maven插件生成测试报告。 它应该为单元测试和集成测试生成测试报告。 因此,该插件必须要准备两个单独的代理。 然后他们在测试运行期间生成报告。 Maven的构建生命周期包含自己的阶段,可以在测试阶段之前进行准备(测试集成测试)。 测试阶段的准备阶段称为“过程测试类”,集成测试阶段的准备阶段称为“预集成测试” 当在POM中设置了目标prepare-agentprepare-agent-integration时,JaCoCo会将其代理自动绑定到这些阶段。 但这还不够。 JaCoCo还必须创建一个报告,以便SonarQube可以读取报告以进行可视化。 因此,我们必须在POM中添加目标报告报告集成

     < plugin >
    
                    < groupId >org.jacoco</ groupId >
    
                    < artifactId >jacoco-maven-plugin</ artifactId >
    
                    < version >0.8.5</ version >
    
                    < executions >
    
                        < execution >
    
                            < goals >
    
                                < goal >prepare-agent</ goal >
    
                                < goal >prepare-agent-integration</ goal >
    
                                < goal >report</ goal >
    
                                < goal >report-integration</ goal >
    
                            </ goals >
    
                        </ execution >
    
                    </ executions >
    
                </ plugin >
    

    同样,它是<project> <build> <plugins>部分的一部分。

    现在,我们可以运行目标mvn验证,并且我们的项目已构建为包含单元和集成测试,并生成两个测试报告。

    SonarQube测试报告可视化

    现在,我们想在SonarQube中可视化我们的测试报告。 因此,成功构建后,我们必须在我们的项目中运行Sonar Maven 3插件(命令mvn sonar:sonar )。 因此,Sonar Maven插件知道将报告上传到哪里,我们必须在〜/ .m2 / setting.xml中配置SonarQube实例

     < profile >
    
          < id >sonar</ id >
    
          < activation >
    
            < activeByDefault >true</ activeByDefault >
    
          </ activation >
    
          < properties >
    
            <!-- Optional URL to server. Default value is http://localhost:9000 -->
    
            < sonar.host.url > http://localhost:9000 </ sonar.host.url >
    
          </ properties >
    
        </ profile >
    

    在SonarQube仪表板中打开项目时,我们会看到总体测试覆盖率报告。

    概要

    该博客描述了如果单元测试和集成测试分别运行,如何为Maven构建生成测试报告。 GitHub上,我托管了一个示例项目,演示了所有配置步骤。 作为技术环境,我使用

    • Maven 3.6.3
    • Maven插件:
        Maven Surefire插件
    • SonarQube 8.3.1
    • Java 11

    链接

    1. Jacoco Maven插件项目站点
    2. Maven故障安全插件项目站点
    3. 构建助手Maven插件项目站点
    4. SonarQube有关通用测试覆盖率的文档
    5. GitHub上的示例Maven项目

    翻译自: https://www.javacodegeeks.com/2020/06/test-coverage-reports-for-maven-projects-in-sonarqube-8-3-x.html

    maven

    展开全文
  • 此文章描述了如果单元测试和集成测试分别运行如何Maven构建生成测试报告。SonarQube将所有测试报告合并为一份涵盖整体测试报告。因此,如果您在Maven项目中将单元测试(由M...

    此文章描述了如果单元测试和集成测试分别运行,如何为Maven构建生成测试报告。

    SonarQube将所有测试报告合并为一份涵盖整体的测试报告。因此,如果您在Maven项目中将单元测试(由Maven Surefire Plugin运行)和集成测试(由Maven Failsafe Plugin运行)分开进行测试,那么如何配置 JaCoCo Maven Plugin。

    在以下各节中,提出了满足以下条件的解决方案:

    • 使用Maven作为构建工具。

    • 该项目可以是多模块项目(微服务)。

    • 单元测试和集成测试是每个模块的一部分。

    • 测试覆盖率是通过 JaCoCo Maven Plugin来衡量的。

    下面显示了Maven项目结构,用于单元测试和集成测试的分离。然后显示了Maven项目配置,其中包含单独的单元测试运行和集成测试运行。之后,我们来看看Maven项目配置以生成涵盖单元测试和集成测试的测试报告。最后,SonarQube的仪表板中显示了SonarQube的配置,用于测试报告的可视化。

    Maven项目结构

    首先,我们看一下单个模块项目的默认Maven项目结构。

    my-app
    ├── pom.xml
    ├── src
    │   ├── main
    │   │   └── java
    │   └── test
    │       └── java
    

    目录src/main/java包含生产项目的源代码,目录src/test/java包含测试源代码。我们可以将单元测试和集成测试放到这个目录中。但是我们需要将这两种类型的测试放在单独的目录中。因此,我们添加了一个名为src/it/java的新目录。然后将单元测试放在src/test java目录中,并将集成测试放在src/it/java目录中,因此新的项目结构如下图所示。

    my-app
    ├── pom.xml
    ├── src
    │   ├── it
    │   │   └── java
    │   ├── main
    │   │   └── java
    │   └── test
    │       └── java
    

    单元和集成测试运行

    幸运的是,单元测试运行配置是Maven默认项目配置的一部分。如果满足以下条件,Maven将自动运行这些测试:

    • 目录src/test/java存在测试用例

    • 测试类名称以Test开头或以Test或TestCase结尾。

    Maven在Maven的构建生命周期阶段中的测试期间来运行这些测试。

    集成测试运行配置必须手动完成。它存在可以提供帮助的Maven插件。我们希望满足以下条件:

    • 集成测试存储在目录src/it/java

    • 集成测试类名称要么以IT开头,要么以IT或ITCase结尾,

    • 集成测试在Maven的构建生命周期阶段进行 集成测试。

    首先,Maven必须知道它必须在其测试类路径中包含目录src/it/java。在这里,Build Helper Maven插件可以提供帮助。它将目录src/it/java添加到测试类路径。

    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
            <execution>
                <goals>
                    <goal>add-test-source</goal>
                    <goal>add-test-resource</goal>
                </goals>
                <configuration>
                    <sources>
                        <source>src/it/java</source>
                    </sources>
                    <resources>
                        <resource>
                            <directory>src/it/resources</directory>
                        </resource>
                    </resources>
                </configuration>
            </execution>
        </executions>
    </plugin>
    

    上面的代码段必须插入到 项目根pom中的<project> <build> <plugins>部分。

    Maven的构建生命周期包含一个称为集成测试的阶段。在此阶段,我们要运行集成测试。幸运的是,当在POM中设置Maven故障安全插件的目标集成测试时,它会自动绑定到此阶段。如果您希望在集成测试失败时构建失败,那么还必须将目标验证添加到POM中:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>3.0.0-M4</version>
        <configuration>
            <encoding>${project.build.sourceEncoding}</encoding>
        </configuration>
        <executions>
            <execution>
                <goals>
                    <goal>integration-test</goal>
                    <goal>verify</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
    

    同样,上述代码段也必须插入到 项目根pom中的<project> <build> <plugins>部分。然后,当Maven故障保护插件的类名称以IT开头或以IT 或ITCase结尾时,它们会自动运行集成测试。

    测试报告生成

    我们想使用JaCoCo Maven插件生成测试报告。它应该为单元测试和集成测试生成测试报告。因此,该插件必须要准备两个单独的代理。然后他们在测试运行期间生成报告。Maven的构建生命周期包含自己的阶段,可以在测试阶段之前进行准备(测试和集成测试)。测试阶段的准备阶段称为过程测试类,集成测试阶段的准备阶段称为pre-integration-test。当JaCoCo的目标prepare-agent和在POM中设置了prepare-agent-integration。但这还不够。JaCoCo还必须创建一个报告,以便SonarQube可以读取报告以进行可视化。因此,我们必须在POM中添加目标报告和报告集成:

    <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>0.8.5</version>
        <executions>    
            <execution>
                <goals>  
                    <goal>prepare-agent</goal>
                    <goal>prepare-agent-integration</goal>
                    <goal>report</goal>
                    <goal>report-integration</goal>
                </goals>  
            </execution>
        </executions>  
    </plugin>
    

    同样,它是<project> <build> <plugins>部分的一部分。

    现在,我们可以运行目标mvn验证,并且我们的项目已构建为包含单元和集成测试,并生成两个测试报告。

    SonarQube测试报告可视化

    现在,我们想在SonarQube中可视化我们的测试报告。因此,在成功构建之后,我们必须在我们的项目中运行Sonar Maven 3插件(命令mvn sonar:sonar)。因此,Sonar Maven插件知道将报告上传到哪里,我们必须在〜/ .m2 / setting.xml中配置SonarQube实例

    <profile>
      <id>sonar</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <!-- Optional URL to server. Default value is http://localhost:9000 -->
        <sonar.host.url>http://localhost:9000</sonar.host.url>
      </properties>
    </profile>
    

    在SonarQube仪表板中打开项目时,我们会看到总体测试覆盖率报告。

    附:参考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/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
    
        <groupId>com.github.sparsick.sonarqube</groupId>
        <artifactId>sonarqube-test-report-with-maven</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    
    
        <name>sonarqube-test-report-with-maven</name>
    
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <java.version>11</java.version>
        </properties>
      
        <build>
            <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.sonarsource.scanner.maven</groupId>
                        <artifactId>sonar-maven-plugin</artifactId>
                        <version>3.7.0.1746</version>
                    </plugin>
                </plugins>
            </pluginManagement>
            
            <plugins>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>
                    <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>3.1.0</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>add-test-source</goal>
                                <goal>add-test-resource</goal>
                            </goals>
                            <configuration>
                                <sources>
                                    <source>src/it/java</source>
                                </sources>
                                <resources>
                                    <resource>
                                        <directory>src/it/resources</directory>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.0.0-M4</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>3.0.0-M4</version>
                    <configuration>
                        <encoding>${project.build.sourceEncoding}</encoding>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>integration-test</goal>
                                <goal>verify</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>0.8.5</version>
                    <executions>    
                        <execution>
                            <goals>  
                                <goal>prepare-agent</goal>
                                <goal>prepare-agent-integration</goal>
                                <goal>report</goal>
                                <goal>report-integration</goal>
                            </goals>  
                        </execution>
                    </executions>  
                </plugin>
            </plugins>
        </build>
      
    
    
        <dependencies>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter</artifactId>
                <version>5.6.2</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </project>
    

    本文纯属个人翻译,有侵权立即删除

    更多精彩关注 DevOps云学堂



    展开全文
  • 此文章描述了如果单元测试和集成测试分别运行如何Maven构建生成测试报告。SonarQube将所有测试报告合并为一份涵盖整体测试报告。因此,如果您在Maven项目中将单元测试(由Maven Surefire Plugin运行)和集成测试...

    b775bf67c91b3bf922bc127a24d66bf2.png

    此文章描述了如果单元测试和集成测试分别运行,如何为Maven构建生成测试报告。

    SonarQube将所有测试报告合并为一份涵盖整体的测试报告。因此,如果您在Maven项目中将单元测试(由Maven Surefire Plugin运行)和集成测试(由Maven Failsafe Plugin运行)分开进行测试,那么如何配置 JaCoCo Maven Plugin。

    在以下各节中,提出了满足以下条件的解决方案:

    • 使用Maven作为构建工具。

    • 该项目可以是多模块项目(微服务)。

    • 单元测试和集成测试是每个模块的一部分。

    • 测试覆盖率是通过 JaCoCo Maven Plugin来衡量的。

    下面显示了Maven项目结构,用于单元测试和集成测试的分离。然后显示了Maven项目配置,其中包含单独的单元测试运行和集成测试运行。之后,我们来看看Maven项目配置以生成涵盖单元测试和集成测试的测试报告。最后,SonarQube的仪表板中显示了SonarQube的配置,用于测试报告的可视化。

    Maven项目结构

    首先,我们看一下单个模块项目的默认Maven项目结构。

    my-app├── pom.xml├── src│   ├── main│   │   └── java│   └── test│       └── java

    目录src/main/java包含生产项目的源代码,目录src/test/java包含测试源代码。我们可以将单元测试和集成测试放到这个目录中。但是我们需要将这两种类型的测试放在单独的目录中。因此,我们添加了一个名为src/it/java的新目录。然后将单元测试放在src/test java目录中,并将集成测试放在src/it/java目录中,因此新的项目结构如下图所示。

    my-app├── pom.xml├── src│   ├── it│   │   └── java│   ├── main│   │   └── java│   └── test│       └── java

    单元和集成测试运行

    幸运的是,单元测试运行配置是Maven默认项目配置的一部分。如果满足以下条件,Maven将自动运行这些测试:

    • 目录src/test/java存在测试用例

    • 测试类名称以Test开头或以Test或TestCase结尾。

    Maven在Maven的构建生命周期阶段中的测试期间来运行这些测试。

    集成测试运行配置必须手动完成。它存在可以提供帮助的Maven插件。我们希望满足以下条件:

    • 集成测试存储在目录src/it/java

    • 集成测试类名称要么以IT开头,要么以IT或ITCase结尾,

    • 集成测试在Maven的构建生命周期阶段进行 集成测试。

    首先,Maven必须知道它必须在其测试类路径中包含目录src/it/java。在这里,Build Helper Maven插件可以提供帮助。它将目录src/it/java添加到测试类路径。

    <plugin>    <groupId>org.codehaus.mojogroupId>    <artifactId>build-helper-maven-pluginartifactId>    <version>3.1.0version>    <executions>        <execution>            <goals>                <goal>add-test-sourcegoal>                <goal>add-test-resourcegoal>            goals>            <configuration>                <sources>                    <source>src/it/javasource>                sources>                <resources>                    <resource>                        <directory>src/it/resourcesdirectory>                    resource>                resources>            configuration>        execution>    executions>plugin>

    上面的代码段必须插入到 项目根pom中的部分。

    Maven的构建生命周期包含一个称为集成测试的阶段。在此阶段,我们要运行集成测试。幸运的是,当在POM中设置Maven故障安全插件的目标集成测试时,它会自动绑定到此阶段。如果您希望在集成测试失败时构建失败,那么还必须将目标验证添加到POM中:

    <plugin>    <groupId>org.apache.maven.pluginsgroupId>    <artifactId>maven-failsafe-pluginartifactId>    <version>3.0.0-M4version>    <configuration>        <encoding>${project.build.sourceEncoding}encoding>    configuration>    <executions>        <execution>            <goals>                <goal>integration-testgoal>                <goal>verifygoal>            goals>        execution>    executions>plugin>

    同样,上述代码段也必须插入到 项目根pom中的部分。然后,当Maven故障保护插件的类名称以IT开头或以IT 或ITCase结尾时,它们会自动运行集成测试。

    测试报告生成

    我们想使用JaCoCo Maven插件生成测试报告。它应该为单元测试和集成测试生成测试报告。因此,该插件必须要准备两个单独的代理。然后他们在测试运行期间生成报告。Maven的构建生命周期包含自己的阶段,可以在测试阶段之前进行准备(测试和集成测试)。测试阶段的准备阶段称为过程测试类,集成测试阶段的准备阶段称为pre-integration-test。当JaCoCo的目标prepare-agent和在POM中设置了prepare-agent-integration。但这还不够。JaCoCo还必须创建一个报告,以便SonarQube可以读取报告以进行可视化。因此,我们必须在POM中添加目标报告和报告集成:

    <plugin>    <groupId>org.jacocogroupId>    <artifactId>jacoco-maven-pluginartifactId>    <version>0.8.5version>    <executions>            <execution>            <goals>                  <goal>prepare-agentgoal>                <goal>prepare-agent-integrationgoal>                <goal>reportgoal>                <goal>report-integrationgoal>            goals>          execution>    executions>  plugin>

    同样,它是 部分的一部分。

    现在,我们可以运行目标mvn验证,并且我们的项目已构建为包含单元和集成测试,并生成两个测试报告。

    SonarQube测试报告可视化

    现在,我们想在SonarQube中可视化我们的测试报告。因此,在成功构建之后,我们必须在我们的项目中运行Sonar Maven 3插件(命令mvn sonar:sonar)。因此,Sonar Maven插件知道将报告上传到哪里,我们必须在〜/ .m2 / setting.xml中配置SonarQube实例

    <profile>  <id>sonarid>  <activation>    <activeByDefault>trueactiveByDefault>  activation>  <properties>        <sonar.host.url>http://localhost:9000sonar.host.url>  properties>profile>

    在SonarQube仪表板中打开项目时,我们会看到总体测试覆盖率报告。

    附:参考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/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0modelVersion>    <groupId>com.github.sparsick.sonarqubegroupId>    <artifactId>sonarqube-test-report-with-mavenartifactId>    <version>1.0.0-SNAPSHOTversion>    <name>sonarqube-test-report-with-mavenname>    <properties>        <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>        <java.version>11java.version>    properties>      <build>        <pluginManagement>            <plugins>                <plugin>                    <groupId>org.sonarsource.scanner.mavengroupId>                    <artifactId>sonar-maven-pluginartifactId>                    <version>3.7.0.1746version>                plugin>            plugins>        pluginManagement>                <plugins>            <plugin>                <artifactId>maven-compiler-pluginartifactId>                <version>3.8.1version>                <configuration>                    <source>${java.version}source>                    <target>${java.version}target>                configuration>            plugin>            <plugin>                <groupId>org.codehaus.mojogroupId>                <artifactId>build-helper-maven-pluginartifactId>                <version>3.1.0version>                <executions>                    <execution>                        <goals>                            <goal>add-test-sourcegoal>                            <goal>add-test-resourcegoal>                        goals>                        <configuration>                            <sources>                                <source>src/it/javasource>                            sources>                            <resources>                                <resource>                                    <directory>src/it/resourcesdirectory>                                resource>                            resources>                        configuration>                    execution>                executions>            plugin>            <plugin>                <groupId>org.apache.maven.pluginsgroupId>                <artifactId>maven-surefire-pluginartifactId>                <version>3.0.0-M4version>            plugin>            <plugin>                <groupId>org.apache.maven.pluginsgroupId>                <artifactId>maven-failsafe-pluginartifactId>                <version>3.0.0-M4version>                <configuration>                    <encoding>${project.build.sourceEncoding}encoding>                configuration>                <executions>                    <execution>                        <goals>                            <goal>integration-testgoal>                            <goal>verifygoal>                        goals>                    execution>                executions>            plugin>            <plugin>                <groupId>org.jacocogroupId>                <artifactId>jacoco-maven-pluginartifactId>                <version>0.8.5version>                <executions>                        <execution>                        <goals>                              <goal>prepare-agentgoal>                            <goal>prepare-agent-integrationgoal>                            <goal>reportgoal>                            <goal>report-integrationgoal>                        goals>                      execution>                executions>              plugin>        plugins>    build>      <dependencies>        <dependency>            <groupId>org.junit.jupitergroupId>            <artifactId>junit-jupiterartifactId>            <version>5.6.2version>            <scope>testscope>        dependency>    dependencies>project>

    本文纯属个人翻译,有侵权立即删除

    更多精彩关注 DevOps云学堂


    df81357ecba9ab9ebeb83b61867ffee4.png

    56d21f93f37cda4bbabd39aeb2d9737a.png

    展开全文
  • 几年前,我写了一篇博客文章,介绍如何在SonarQube中生成测试报告,该报告独立于单元测试和集成测试测试报告中。... 因此,如果您在Maven项目中将单元测试(由Maven Surefire插件运行)和集成测试(由Maven...
  • 此文章描述了如果单元测试和集成测试分别运行如何Maven构建生成测试报告。SonarQube将所有测试报告合并为一份涵盖整体测试报告。因此,如果您在Maven项目中将单元测试(由Maven Surefire Plugin运行)和集成测试...
  • 因此,如果在Maven项目中将单元测试(由Maven Surefire插件运行)和集成测试(由Maven Failsafe插件运行)分开进行测试,那么如何配置JaCoCo Maven插件呢?在以下各节中,提出了满足以下条件解决方案:构建工具:Maven...
  • 一个Java项目中最困难的地方就是如何着手 启动它。在启动项目之前,我们必须配置好所有的逻辑关系。...单元测试应该在何处进行?依赖的jar包应该如何放置?如何 构建项目,如何形成文档,如何测试和...
  • Maven 2.0:编译、测试、部署、运行

    千次阅读 2006-07-19 22:29:00
    单元测试应该在何处进行?依赖jar包应该如何放置?如何构建项目,如何形成文档,如何测试和部署项目?在这种情况下,开发人员不同处理选择将会影响项目余下部分。您选择可能会使你陷入困境,也可能会在将来...
  • 单元测试应该在何处进行?依赖jar包应该如何放置?如何构建项目,如何形成文档,如何测试和部署项目?在这种情况下,开发人员不同处理选择将会影响项目余下部分。您选择可能会使你陷入困境,也可能会在将来...
  • 您可能已经知道如何编写和运行应用程序中各个类的单元测试,因此,对于本指南,我们将专注于使用Spring Test和Spring Boot功能来测试Spring和您的代码之间的交互。 您将从一个简单的测试开始,该测试将成功加载应用...
  • 所有的出现覆盖率为0%的问题均与运行单元测试的插件surefire有关,出现的各种问题均是由于该插件的设置forkcount与reuseForks所影响。如果出现上述问题,请根据以下的说明与要求来配置surefire插件。surefire插...
  • 3、普通的单元测试不能正常关闭Spring容器,Spring容器声明周期非正常退出(后面会给出验证) Spring Test框架 1、使用Spring的测试框架 导入Maven依赖 <!--...
  • 所有的出现覆盖率为0%的问题均与运行单元测试的插件surefire有关,出现的各种问题均是由于该插件的设置forkcount与reuseForks所影响。如果出现上述问题,请根据以下的说明与要求来配置surefire插件。sure...
  • 持续交付-发布可靠软件系统方法

    热门讨论 2014-03-02 01:32:14
    3.5.2 提交前在本地运行所有的提交测试,或者让持续集成服务器完成此事 53 3.5.3 等提交测试通过后再继续工作 54 3.5.4 回家之前,构建必须处于成功状态 54 3.5.5 时刻准备着回滚到前一个版本 55 3.5.6 在回滚...
  • 3.5.2 提交前在本地运行所有 提交测试,或者让持 续集成服务器完成此事 53 3.5.3 等提交测试通过后再继 续工作 54 3.5.4 回家之前,构建必须处 于成功状态 54 3.5.5 时刻准备着回滚到前一 个版本 55 ...
  • mvn package -Dmaven.test.skip = true生成项目并将生成JAR文件打包到目标目录中-无需在生成过程中运行单元测试。 mvn clean package清除目标目录并生成项目,然后将生成JAR文件打包到目标目录中。 mvn clean ...
  • JUnit_Tutorial-源码

    2021-03-11 11:34:07
    您可能已经知道如何编写和运行应用程序中各个类的单元测试,因此,对于本指南,我们将专注于使用Spring Test和Spring Boot功能来测试Spring和您的代码之间的交互。 您将从一个简单的测试开始,该测试将成功加载应用...
  • 扑克游戏-源码

    2021-02-07 16:39:34
    单元测试将调用ThreeCardPoker类中protected构造函数和addPlayer方法来设置游戏并确定游戏结果。 从Python测试运行器调用此应用程序时,在ThreeCardPoker类中使用了一个不同构造函数,需要一个STDIN。 ...
  • 自动售货机-源码

    2021-02-08 17:51:02
    自动售货机单元测试 问题陈述 编写程序使用您“最喜欢语言”设计自动售货机,并进行所有可能测试。接受1,5,10,25分硬币,即便士,镍,一角硬币和四分之一硬币。 允许用户选择产品可乐(25),百事可乐(35)...
  • 《JUnit5学习》系列旨在通过实战提升SpringBoot环境下的单元测试技能,一共八篇文章,链接如下: 《JUnit5学习之一:基本操作》 《JUnit5学习之二:Assumptions类》 《JUnit5学习之三:Assertions类》 《JUnit5学习...
  • 并不是所有的服务都需要微服务,微服务也不是越多越好,看项目,看情况,看心情! 待续... 4. 测试框架 很多朋友可能喜欢写代码,不喜欢写测试。也有的朋友觉得测试测试人员做的,跟开发人员没关系。 但是测试真...
  • 单体架构下的所有代码模块都耦合在一起,代码量大,维护困难,想要更新一个模块代码,也可能会影响其他模块,不能很好定制化代码。微服务中可以有java编写、有Python编写,他们都是靠restful架构风格统一成一...
  • 蚁金服支付宝系统的单元化 蚂蚁金服蓝绿发布实践 亿级用户下的新浪微博平台架构 spring cloud spring cloud 实战(干货) 更多干货 spring cloud 微服务 spring cloud 知识点 Spring Cloud技术分析 ...
  • 如何处理单元测试产生数据,下列哪些说法是正确?ABC A .测试数据入库时加特殊前缀标识。 B .测试数据使用独立测试库。 C .自动回滚单元测试产生脏数据。 D .无须区别,统一在业务代码中进行判断和...
  • 周边生态丰富 (Android, iOS, Web 等各种 Demo、继承 JSON 海量生态、零代码 接口测试 和 单元测试 工具等) 文档视频齐全 (项目介绍、快速上手、安装部署 等后端、前端、客户端 图文解说、视频教程、代码注释 ...
  • └─test 单元测试块 软件需求 jdk8+ mysql5.7+ 所用技术 前端 jQuery layui v2.5.6 (UI框架) 后端 spring boot v2.2.4.RELEASE Mybatis Mybatis-plus v3.3.0 (mybatis增强插件,无侵入。非常强大...

空空如也

空空如也

1 2
收藏数 28
精华内容 11
关键字:

maven如何运行所有的单元测试