IDEA 中 JUnit 的使用

2023-10-30

1. JUnit 是什么?

  JUnit 是一个 Java 语言的回归测试框架(regression testing framework),由 Kent Beck 和 Erich Gamma 建立。
  Junit 测试也是程序员测试,即所谓的白盒测试,它需要程序员知道被测试的代码如何完成功能,以及完成什么样的功能。

2. IDEA 的 JUnit 配置

  IDEA 一般默认安装了插件 JUnit,如下图所示:可在 settings 中的 Plugins 选项卡中的 Installed 一栏中搜索 JUnit 查看。

3. 测试类的生成

  首先,在项目根目录下新建 Test 文件夹(或其他任意你喜欢的名字),并在 Project Structure 中标记为 Test(默认为 Source),用以保存生成的测试类。标记后,自动生成的测试类都会自动保存在此文件夹下。


  创建好文件夹后就可以进行测试类的生成了。
  在需要测试的类上右键 -> Go To -> Test,选择 “create new test…”,打开生成界面。

  在生成界面中选择 Testing Library 为 JUnit 4(默认为 Arquillian JUnit 4),同时勾选需要测试的函数,然后点击 OK 即可生成。
  之后我们可以看到 Test 文件夹下已经有了生成好的测试类。
  但是我们会发现,测试类中的 import 是红色的,这是因为 JUnit 的依赖包并不在标准 JDK 中。我们可以通过把输入光标移到红色的 junit 上按 alt + enter 键(即 IDEA 自动导包的快捷键)然后选择 Add ‘JUnit4’ to classpath ,并在之后的下载界面直接选择 “OK” 即可通过 IDEA 自动关联依赖包。
  当然,也可以手动下载 JUnit 4 包(或更高版本)并手动关联。

4. 测试覆盖率的查看

  待测试程序:

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

    public static int sub(int a, int b) {
        return a - b;
    }

    public static int mul(int a, int b) {
        return a * b;
    }
}

  生成的测试类:

import static org.junit.Assert.*;

public class CalculatorTest {
    @org.junit.Test
    public void add() {
    }

    @org.junit.Test
    public void sub() {
    }

    @org.junit.Test
    public void mul() {
    }
}

  选择 Edit Configuration 以设置 Code Coverage 检查。

  在弹出的窗口中左侧选择 JUnit 对应的运行模块(在我这里由于没有其他 main 方法没有,因此其他运行模块),然后选择 Code Coverage 选项卡,之后选择下方的 Tracing(默认为 Sampling),接着点击右侧的添加期望检查的类。
在这里插入图片描述
  之后选择 Run “测试类名” with Coverage 即可查看测试覆盖率了。左侧的绿色条代表方法中的每条语句都测试到了,红色代表完全没有测试,黄色代表部分语句测试到。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IDEA 中 JUnit 的使用 的相关文章

随机推荐

  • vscode初次远程连接服务器报错解决

    1 错误 vscode初次远程连接服务器无法连接成功报错 并弹框提示 关闭 更多操作 重试 这说明网络无法安装vscode server服务 2 解决办法 1 查看自己vscode的commit id 2 按照输出中的wget 命令在可以联
  • 云计算 第六章 云平台应用(2)

    Hadoop核心组件介绍 分布式存储系统HDFS Hadoop Distributed File System 分布式存储系统 提供了高可靠性 高扩展性和高吞吐率的数据存储服务 资源管理系统YARN Yet Another Resource
  • Typora导出word

    Typora导出word Typora导出word 第一步 安装Pandoc软件 国内访问很慢 我已经下好了 地址见https download csdn net download weixin 45092432 86402193 第二步
  • redis_代码实现

    1 创建工程 创建一个maven项目mavenRedis pom xml中添加redis配置
  • STM32中断号与中断优先级

    中断号 以COTEX M3内核来举例 中断号对应下图中断编号 应该是芯片或者内核厂家定义好的 与中断向量表成对应关系 这个应该 O O 是不可变动的 相当于中断标识 比如MCU发生了一个相应的中断 则直接根据这个的中断号或者中断向量表去执行
  • 【满分】【华为OD机试真题2023 JAVA&JS】预定酒店

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 预定酒店 知识点排序 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 放暑假了 小明决定到某旅游景点游玩 他在网上搜索到了各种价位的酒店 长度为n的数组A 他的心
  • OpenAI-ChatGPT最新官方接口《审核机制》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(七)(附源码)

    Moderation 审核机制 前言 Introduction 导言 Quickstart 快速开始 其它资料下载 ChatGPT 作为一个大型人工智能语言模型 在提供用户便捷交流的同时也承担着内容审核的责任 为了保护用户和社会免受不良信息
  • 演讲:文档什么鬼分享会

    作为一个初创技术公司 我司的信息管理水平 基本还停留在茹毛饮血的原始水平 领导让我给全公司的同事做一个分享 说是要提升一下文档意识的水位 作为一只热爱解决具体问题的攻城狮 竟然勉强我去讲 哲学 瞬间化身嘤嘤怪 不过转念回想起当年挥斥方遒 写
  • Learning Ceph

    Author 海峰 http weibo com 344736086 参考章宇兄的开源项目学习ABC的方法来对ceph进行简单的学习与分析 下面是分析过程中画的图片
  • RBF神经网络对iris鸢尾花数据集进行分类识别

    RBF神经网络对iris鸢尾花数据集进行分类 http blog csdn net fubin0000 设计要求 iris以鸢尾花的特征作为数据来源 数据集包含150个数据集 分为3类 setosa versicolor virginica
  • Qt 界面加载卡顿或刷新问题

    主要有以下几个解决方案可以去尝试下 一 设置WA Mapped属性 让界面可以及时更新 void CMainStaticsWindows showEvent QShowEvent event 这句话解决第二次打开窗口没有刷新情况 窗口一片空
  • java fx数据库,Java FX中的数据库连接最佳实践

    目前我也在使用数据库连接的JavaFX应用程序 我选择的方式如下 创建一个SQL Controller Class 这个类应该包含处理你的SQL数据的所有东西 例如 一个连接方法来打开一个连接 一个close方法也没有错 在所有控制器类中使
  • Button 点击没有反应

    原因 检查一下你是不是把button TargetGraphic目标翻转了180度 因为UGUI的射线检测默认只检测正面 解决办法 在你的button检测目标也就是 TargetGraphic目标上加个GraphicRayCaster组件
  • 关于Java环境变量配置之后在CMD中键入JavaC、Java -version无反应

    本机装的是jdk 11 安装后配置环境 在cmd中键入JavaC Java version均无反应 如下图 上网查阅多方资料 终于在知乎大佬的分享贴下解决此问题 鸣谢 步骤如下 右键点击此电脑 gt 属性 gt 高级系统设置 gt 环境配置
  • CCF-CSP201903-4-消息传递接口

    首先应当思考的是如何对输入数据进行存储 通过样例输入可以看出 每一个进程执行的操作数量都是不定的 因此可以采用 vectorg N 进行存储 其中g i 表示i号进程应执行操作 也可以采用queueq N 进行存储q i 表示i号进程应执行
  • 传感器学习——ESP8266(无线串口使用)

    ESP8266模块是一款高性能的WIFI串口模块 只要知道串口怎么编程使用 就可以实现所谓的透明传输 将usb转ttl如下连接 USB转TTL模块上有3 3V和5V两个引脚可以作为VCC 但是一般选取5V作为VCC AT指令 在使用USB转
  • Python案例分析,streamlit模块,Python制作销售数据可视化看板

    前言 Python实战案例 streamlit模块 Python制作销售数据可视化看板 让我们愉快地开始吧 开发工具 Python版本 3 6 4 相关模块 streamlit模块 Plotly模块 Pandas模块 以及一些Python自
  • 比较两个float 2010-9-15 12:01

    float 类型不能比较相等或不等 但可以比较 gt lt gt lt 用 从语法上说没错 但是本来应该相等的两个浮点数由于计算机内部表示的原因可能略有微小的误差 这时用 就会认为它们不等 应该使用两个浮点数之间的差异的绝对值小于某个可以接
  • matlab基础语法总结

    文章目录 1 界面认识 2 变量命名 3 数据类型 4 矩阵构造和四则运算 5 程序结构 6 二维平面绘图 7 三维立体绘图 8 线性规划 9 积分 1 界面认识 命令行输入clc 清除命令行窗口 命令行输入clear all 清除右侧工作
  • IDEA 中 JUnit 的使用

    文章目录 1 JUnit 是什么 2 IDEA 的 JUnit 配置 3 测试类的生成 4 测试覆盖率的查看 1 JUnit 是什么 JUnit 是一个 Java 语言的回归测试框架 regression testing framework