IDEA创建单元测试与测试覆盖率统计

简介: IDEA(IntelliJ IDEA)不仅支持快速基于当前类创建单元测试,还支持代码测试覆盖率的统计,以及生成报告和标记测试运行命中的代码。


一、单元测试



使用 IDEA 快速创建单元测试,提高开发和测试效率。


1. 创建单元测试


在需要测试的类或接口(推荐基于接口创建)名称上使用 Alt+Enter,然后选择创建测试

微信图片8.png

在创建测试面板配置测试的相关信息:

  • 测试库:选择单元测试框架
  • 类名:指定生成的单元测试类名
  • 超类:指定单元测试类继承的超类
  • 目标软件包:指定在哪个包下生成单元测试类
  • 生成:生成其他增强测试方法
  • 成员:选择需测试的类或接口方法,自动生成多个测试方法

微信图片9.png


2. 运行单元测试


在测试方法点击 IDEA 运行图标(或使用 Ctrl+Shift+F10)运行单元测试。

微信图片05.png


二、测试覆盖率



IDEA 支持详细的代码测试覆盖率统计,测试代码覆盖率越高,代码质量越高。


1. 配置测试覆盖率


在测试方法上点击 IDEA 运行图标,选择修改运行配置

微信图片04.png

在编辑运行配置面板下面,可以看到代码覆盖率配置,一般使用默认的指定类和软件包配置选项。

在下面选择单元测试类覆盖的类或软件包就完成了配置。

微信图片03.png


2. 使用覆盖率运行


在测试方法上点击 IDEA 运行图标,选择使用覆盖率运行

微信图片02.png


3. 查看覆盖率报告


运行完后,会弹出覆盖率窗口展示覆盖率报告,可以查看测试覆盖的类、方法和代码行所占的比例。

点击报告中的类,可以在编辑器左侧查看测试覆盖源码的情况。

绿色表示被测试代码覆盖,红色表示没覆盖,此时需要修改单元测试代码来覆盖这部分源码。

微信图片01.png


4. 导出覆盖率报告


在测试覆盖率报告面板中左侧点击导出可以导出此次测试的覆盖率报告。

微信图片2.png

导出的格式是 HTML 网页,可以直接使用浏览器打开,也可以保存在服务器上,供开发人员查看。

微信图片1.png

最后,作为一个后端开发人员,要养成编写单元测试的习惯,来提高代码的质量。


三、代码示例



具体的代码实现如下:

Gitee:

https://gitee.com/code_artist/idea-best-practices


目录
相关文章
|
1月前
|
人工智能 自然语言处理 前端开发
深度解析Playwright MCP:功能、优势与挑战,AI如何提升测试效率与覆盖率
Playwright MCP通过AI与浏览器交互,实现自然语言驱动的自动化测试。它降低门槛、提升效率,助力测试工程师聚焦高价值工作,是探索性测试与快速验证的新利器。
|
1月前
|
人工智能 Java 测试技术
单元测试覆盖率的自动控制技术
Jacoco是Java程序覆盖率工具,可以在pom.xml通过配置来自动控制程序的覆盖率
60 5
|
7月前
|
数据采集 算法 测试技术
【硬件测试】基于FPGA的1024QAM基带通信系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的1024QAM基带通信系统的硬件测试版本,包含testbench、高斯信道模块和误码率统计模块。系统新增ila在线数据采集和vio在线SNR设置模块,支持不同SNR条件下的性能测试。1024QAM调制将10比特映射到复平面上的1024个星座点之一,实现高效数据传输。硬件测试结果表明,在SNR=32dB和40dB时,系统表现出良好的性能。Verilog核心程序展示了各模块的连接与功能实现。
164 7
|
3月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的4ASK+帧同步系统开发与硬件片内测试,包含高斯信道,误码统计,可设置SNR
本文为基于FPGA的4-ASK调制与帧同步系统硬件测试版,采用Verilog实现,包含ILA在线采集与VIO SNR设置模块,支持高斯信道误码统计,适用于通信系统教学与实践。
52 2
|
4月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的2FSK+帧同步系统开发与硬件片内测试,包含高斯信道,误码统计,可设置SNR
本文基于FPGA实现2FSK+帧同步系统,采用Verilog开发,包含Testbench、高斯信道、误码统计及可设置SNR功能。硬件版本新增ILA在线数据采集与VIO在线SNR设置模块,验证调制解调过程。理论部分介绍FSK调制解调原理、功率谱特性及帧同步机制,代码实现FSK信号生成与处理,适合数字通信学习与实践。
145 1
|
6月前
|
数据采集 移动开发 算法
【硬件测试】基于FPGA的QPSK调制+软解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于FPGA实现QPSK调制与软解调系统,包含Testbench、高斯信道、误码率统计模块,并支持不同SNR设置。硬件版本新增ILA在线数据采集和VIO在线SNR设置功能,提供无水印完整代码及测试结果。通过VIO分别设置SNR为6dB和12dB,验证系统性能。配套操作视频便于用户快速上手。 理论部分详细解析QPSK调制原理及其软解调实现过程,涵盖信号采样、相位估计、判决与解调等关键步骤。软解调通过概率估计(如最大似然法)提高抗噪能力,核心公式为*d = d_hat / P(d_hat|r[n])*,需考虑噪声对信号点分布的影响。 附Verilog核心程序代码及注释,助力理解与开发。
177 5
|
6月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的2ASK+帧同步系统开发与硬件片内测试,包含高斯信道,误码统计,可设置SNR
本文分享了基于FPGA的2ASK+帧同步系统硬件测试版本,包含ILA数据采集、VIO SNR设置及数据源模块。通过调整SNR(如45dB和10dB),实现对调制解调性能的验证。2ASK调制将数字信号转为二进制码,通过载波振幅变化传输;帧同步用于确定帧起始位置,确保数据正确解调。附带操作视频与核心Verilog代码,便于理解和复现。
185 9
|
7月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的MSK调制解调系统系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于FPGA实现MSK调制解调系统,采用Verilog开发,包含同步模块、高斯信道模拟、误码率统计等功能。相比仿真版本,新增ILA数据采集与VIO在线SNR设置模块。通过硬件测试验证,展示不同SNR(如10dB和16dB)下的性能表现。研究聚焦软件无线电领域,优化算法复杂度以适应硬件限制,利用MSK恒定包络、相位连续等特性提升频谱效率。核心代码实现信号生成、调制解调、滤波及误码统计,提供完整的硬件设计与分析方案。
245 19
|
7月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的4ASK调制解调通信系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的4ASK调制解调系统的硬件测试版本,该系统包括testbench、高斯信道模块和误码率统计模块,并新增了ILA在线数据采集和VIO在线SNR设置功能。通过VIO设置不同SNR(如15dB和25dB),实现了对系统性能的实时监测与调整。4ASK是一种通过改变载波幅度表示数据的数字调制方式,适用于多种通信场景。FPGA平台的高效性和灵活性使其成为构建高性能通信系统的理想选择。
169 17
|
7月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的16QAM调制+软解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于之前开发的16QAM调制与软解调系统,增加了硬件测试功能。该系统包含FPGA实现的16QAM调制、软解调、高斯信道、误码率统计模块,并新增了ILA在线数据采集和VIO在线SNR设置模块。通过硬件测试,验证了不同SNR条件下的系统性能。16QAM软解调通过比较接收信号采样值与16个调制点的距离,选择最近的调制点来恢复原始数据。核心Verilog代码实现了整个系统的功能,包括SNR设置、信号处理及误码率统计。硬件测试结果表明系统在不同SNR下表现良好,详细操作步骤可参考配套视频。
187 13

热门文章

最新文章