当前位置: 首页 > news >正文

在VS Code中进行Java的单元测试

在VS Code中可以使用 Test Runner for Java扩展进行Java的测试执行和调试。

Test Runner for Java的功能

Test Runner for Java 结合 Language Support for Java by Red Hat 和 Debugger for Java这两个插件提供如下功能:

  • 运行测试: Test Runner for Java能够识别并运行项目中的JUnit(尤其是JUnit 5)测试用例
  • 运行和调试测试用例 : 除了执行测试外,它还提供了调试功能,允许开发人员在测试过程中步进代码、查看变量值等。
  • 查看测试报告: 测试执行完成后,通常会生成详细的测试报告,包括成功通过的测试用例和失败的测试用例及其原因。
  • 在测试资源管理器中查看测试
  • 客制测试配置

安装

安装Extension Pack For Java 的时候,默认会安装Test Runner for Java。
Java Extension Pack是一个包含多个Java相关插件的扩展包,其中包括了Java Test Runner。安装这个扩展包可以一次性获得多个有用的Java开发工具。

在这里插入图片描述

安装环境要求

  • JDK (version 17 or later)
  • VS Code (version 1.59.0 or later)
  • Language Support for Java by Red Hat
  • Debugger for Java

支持的JUnit 版本

  • JUnit 4 (v4.8.0+)
  • JUnit 5 (v5.1.0+)
  • TestNG (v6.9.13.3+)

运行/调试测试用例

在这里插入图片描述

在类和方法的右方可以看到一个绿色的运行按钮,直接点击就可以运行。

也可以右键单击, 有更多的功能选项:

在这里插入图片描述

以“Run with Coverage”为例,会统计测试覆盖率, 运行的效果如下:

在这里插入图片描述

(Test Explorer) 测试资源管理器

在这里插入图片描述

测试资源管理器会显示工作区所有的测试用例,可以在这里运行和调试测试用例。

客制测试配置

可以在java.test.config部分下将配置添加到工作区设置中。
设定方式是在命令面板打开工作区设置:

  1. 按 Ctrl + Shift +P

  2. 输入 Preferences: Open Workspace Settings (JSON)
    在这里插入图片描述

  3. 在java.test.config设置,比如

"java.test.config": [{"name": "myConfiguration","workingDirectory": "${workspaceFolder}","vmargs": [ "-Xmx512M" ],"env": { "key": "value" },},{// Another configuration item...},...
]

查看测试结果

测试结果可以在 测试资源管理器,也可以在Test Result 中进行查看:

在这里插入图片描述

在这里插入图片描述

VS Code中使用 Test Runner for Java 进行Spring Boot的测试

由于Spring Boot项目通常使用JUnit或TestNG进行测试,因此Test Runner for Java 也可以用于在Visual Studio Code中运行和调试Spring Boot的测试,操作方式和普通的Java测试类似:
在这里插入图片描述



http://www.lryc.cn/news/356489.html

相关文章:

  • 国内信创web中间件生态
  • CSS中的writing-mode属性:解锁文本布局新维度
  • SQL面试题练习 —— 波峰波谷
  • 检索模型预训练方法:RetroMAE
  • OpenHarmony实战开发——宿舍全屋智能开发指南
  • 等了10年,终于迎来RTX5/RTX4全家桶开源,开源,开源! 且免费商用
  • Python 读取.shp文件并生成图幅编号
  • 【算法】位运算算法——判断字符是否唯一
  • AAAI2024 基于扩散模型 多类别 工业异常检测 DiAD
  • JavaEE-Spring Controller(服务器控制以及Controller的实现和配置)
  • 页面导出PDF,非可视区域如何解决
  • Android UI:ViewTree: 监听
  • 【光伏干货】光伏无人机巡检步骤
  • 『大模型笔记』从头开始代码构建GPT!
  • idea的project structure下project [lauguage ]()level 没有java的sdk17选项如何导入
  • JavaScript数据类型与转换
  • 三十、openlayers官网示例解析Double click, Drag and Zoom——第二次点击鼠标拖拽缩放地图效果、取消地图双击放大事件
  • 前端基础入门三大核心之网络安全篇:TLS/SSL的魔法之旅
  • Flutter 中的 SnackBarAction 小部件:全面指南
  • Point-Nerf 理论笔记和理解
  • 深度学习中的梯度消失和梯度爆炸问题
  • Flink 通过 paimon 关联维表,内存降为原来的1/4
  • Python知识详解【1】~{正则表达式}
  • 装饰模式:鸡腿堡
  • 视图【mysql数据库】
  • opencv的findContours()函数
  • 多电压档hold扫尾
  • ABAP Json解析案例
  • QT学习(20):QStyle和自定义样式
  • 香橙派 AIpro 昇腾 Ascend C++ 分类模型适配