IntelliJ IDEA本地代码覆盖后恢复原来的代码图解

下面我就来详细讲解“IntelliJ IDEA本地代码覆盖后恢复原来的代码”攻略,包含以下内容:

  1. 准备工作
  2. 操作步骤
  3. 示例说明

1. 准备工作

在进行本地代码覆盖后恢复原来的代码前,需要进行以下准备工作:

  1. 在 IntelliJ IDEA 中打开需要覆盖和恢复的项目。

  2. 在项目的 settings.gradle 中添加以下代码:

groovy
include 'buildSrc'

  1. 在项目的 build.gradle 文件中添加以下代码:

```groovy
apply plugin: 'jacoco'

jacoco {
toolVersion = '0.8.5'
}

test {
jacoco {
append = false
destinationFile = file("$buildDir/jacoco/test.exec")
}
}

task jacocoTestReport(type: JacocoReport, dependsOn: ['test']) {
reports {
html.enabled = true
}
// If the following line is commented out, html report won't be generated
// or the report will not contain all data.
executionData(test)
sourceDirectories.setFrom(project.files(project.sourceSets.main.allJava.srcDirs))
classDirectories.setFrom(project.files(project.sourceSets.main.output))
//gradle不支持kotlin项目
//sourceDirectories.setFrom(project.files(project.sourceSets.main.allSource.srcDirs))
//classpath = files(classpath.asPath.split(':').collect { file(it) })
}

tasks.withType(Test) {
jacoco {
reports {
xml.enabled = true
csv.enabled = true
}
}
}
```

2. 操作步骤

完成上述准备工作之后,接下来进行本地代码覆盖后的恢复的具体步骤如下:

  1. 在 IntelliJ IDEA 中打开需要覆盖和恢复的项目。
  2. 运行项目中的测试用例,生成覆盖数据。
  3. 在菜单栏中依次选择 Run -> Edit Configurations,打开编辑运行配置页面。
  4. 点击左侧的 Defaults -> JUnit,将 VM Options 中的参数修改为以下代码:

-javaagent:/Applications/IntelliJ\ IDEA.app/Contents/plugins/jacoco/lib/jacocoagent.jar=destfile=build/jacoco/test.exec,append=false
-Djacoco=true

注意:以上命令中,/Applications/IntelliJ IDEA.app 需要根据实际 IDE 安装路径进行修改。

  1. 在编辑运行配置页面中,点击 OK 保存配置。
  2. 点击 IntelliJ IDEA 工具栏中的 Run 按钮,或使用快捷键 Shift + F10,运行测试用例并生成覆盖数据。

在运行测试用例的过程中,代码覆盖工具 JaCoCo 会将覆盖数据保存在 build/jacoco/test.exec 文件中。

  1. 运行命令生成测试覆盖报告:

./gradlew jacocoTestReport

或者在 IntelliJ IDEA 的 Gradle 工具窗口中找到 jacocoTestReport 任务,右键点击选择 Run

生成的覆盖报告可以在 build/reports/jacoco/test/html/index.html 文件中查看。

  1. 对代码进行覆盖测试后,如果需要恢复原来的代码,可以通过以下步骤完成:

打开覆盖数据报告,找到需要覆盖的代码行,鼠标右键选择 Local History -> Show History,即可弹出版本控制窗口,查看历史修改记录。找到需要恢复的代码版本,右键选择 Revert,即可恢复到指定版本的代码。

3. 示例说明

为了更好地说明本地代码覆盖后恢复原来的代码的具体操作过程,下面给出两个示例。

示例1:

假设代码文件 Hello.java 中有以下内容:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}

现在,我们想为这段代码编写一个测试用例,并使用 JaCoCo 进行代码覆盖测试。

  1. 首先,我们在项目根目录下新建一个名为 src/test/java 的目录,用来存放测试用例文件。
  2. src/test/java 目录下新建一个名为 HelloTest.java 的JUnit测试类文件,编写测试代码:

```java
import org.junit.Test;

public class HelloTest {
@Test
public void testHelloWorld() {
HelloWorld.main(new String[]{});
}
}
```

  1. 运行测试用例,并生成覆盖数据。
  2. 打开项目工具栏中的 Gradle 窗口,找到 jacocoTestReport 任务,右键点击选择 Run,即可生成覆盖报告。
  3. 打开覆盖报告,找到需要修改的代码行,右键选择 Local History -> Show History,即可弹出版本控制窗口,查看历史修改记录。

示例2:

假设代码文件 Calculator.java 中有以下内容:

public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
}

现在,我们想为这段代码编写一个测试用例,并使用 JaCoCo 进行代码覆盖测试。

  1. 首先,我们在项目根目录下新建一个名为 src/test/java 的目录,用来存放测试用例文件。
  2. src/test/java 目录下新建一个名为 CalculatorTest.java 的JUnit测试类文件,编写测试代码:

```java
import org.junit.Test;

public class CalculatorTest {
@Test
public void testAdd() {
Calculator calculator = new Calculator();
int result = calculator.add(3, 4);
org.junit.Assert.assertEquals(7, result);
}
}
```

  1. 运行测试用例,并生成覆盖数据。
  2. 打开项目工具栏中的 Gradle 窗口,找到 jacocoTestReport 任务,右键点击选择 Run,即可生成覆盖报告。
  3. 打开覆盖报告,找到需要修改的代码行,右键选择 Local History -> Show History,即可弹出版本控制窗口,查看历史修改记录。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:IntelliJ IDEA本地代码覆盖后恢复原来的代码图解 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • MySql数据类型教程示例详解

    MySql数据类型教程示例详解 什么是数据类型? 数据类型是指在编程中用于定义变量或常量的类型,每一个数据类型在计算机内存中占用一定的空间,定义不同数据类型的目的是为了方便处理不同的数据。 MySql的数据类型 MySql支持多种数据类型,包括数字、字符、时间等类型,具体分类如下: 数字类型 TINYINT:1字节,范围为-128到127的有符号整数或0到2…

    database 2023年5月22日
    00
  • SQL 依据特定时间单位检索数据

    要依据特定时间单位检索数据,需要使用SQL的日期函数和日期格式化函数。下面是SQL检索数据的完整攻略: 1. 使用DATE_FORMAT函数格式化日期 在SQL中,使用DATE_FORMAT()函数将日期值格式化为一个指定的格式。该函数接受两个参数:DATE_FORMAT(date,format),其中date是日期值,format是格式化的字符串参数。下面…

    database 2023年3月27日
    00
  • 配置ogg异构oracle-mysql(2)源端配置

    源端配置大致分为如下三个步骤:配置mgr,配置抽取进程,配置投递进程 在源端先创建一张表,记得带主键: SQL> create table ah4(id int ,name varchar(10),primary key(id)); Table created.   1.登陆ogg,配置全局设置 [oracle@ora11g 11.2]$ ./ggsc…

    MySQL 2023年4月12日
    00
  • MySQL系列数据库设计三范式教程示例

    MySQL系列数据库设计三范式教程示例的完整攻略: 前言 本教程是一篇介绍MySQL系列数据库中的三范式设计的教程示例,通过本教程的学习,可以极大地提高我们设计数据库的能力和质量,同时在实际应用中也能提高数据库的性能。 一、什么是三范式? 三范式是指在设计关系型数据库时,需要满足的三个条件,它们分别是: 第一范式(1NF):关系表中的每个属性都是原子性的,即…

    database 2023年5月21日
    00
  • 数据库加密字段进行模糊查询详解

    首先,在讲解数据库加密字段模糊查询之前,我们需要知道什么是加密。简单来说,加密就是把普通的数据转化为加密的数据,以达到保护数据安全的目的。 在某些情况下,我们需要对数据库中加密的字段进行模糊查询,这时就需要使用到一些特殊的函数或方法。以下是对数据库加密字段进行模糊查询的详细攻略: 1. 数据库中加密字段模糊查询的基本原理 在数据库中存储加密字段时,加密方法一…

    database 2023年5月22日
    00
  • 解决java.sql.SQLException: validateConnection false问题的方法汇总(最全)

    关于“解决java.sql.SQLException: validateConnection false问题的方法汇总(最全)” 的完整攻略,以下是具体步骤: 问题描述 在使用JDBC连接数据库的过程中,我们可能会遇到java.sql.SQLException: validateConnection false的异常。这种异常通常是由于连接池配置不当、数据库…

    database 2023年5月21日
    00
  • SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式

    SQL Server数据库的三种恢复模式 SQL Server是一种常用的关系型数据库管理系统,提供了不同的恢复模式,包括简单恢复模式、完整恢复模式和大容量日志恢复模式。三种模式有其各自的特点和适用范围。在选择恢复模式时,需要根据业务需求和数据重要性考虑。 简单恢复模式 简单恢复模式是SQL Server的默认恢复模式,它的特点是日志文件会被定期截断并释放空…

    database 2023年5月21日
    00
  • MySQL 5.7.13 源码编译安装配置方法图文教程

    下面详细讲解一下“MySQL 5.7.13 源码编译安装配置方法图文教程”的完整攻略。 环境准备 首先需要安装一些必要的工具包: $ sudo yum install -y cmake ncurses-devel bison gcc gcc-c++ 下载源码并解压 从官网 https://dev.mysql.com/downloads/mysql/ 下载 M…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部