news 2026/3/31 16:37:36

在 VSCode 中编写简单 JavaScript 测试用例的步骤和示例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在 VSCode 中编写简单 JavaScript 测试用例的步骤和示例

步骤 1:创建项目文件夹
在你的工作区中创建一个新文件夹(例如VSCode-js-test-demo)。

步骤 2:初始化项目

  1. 在 VSCode 中打开该文件夹。
  2. 打开终端 (Ctrl+`` 或Terminal -> New Terminal`)。
  3. 运行命令初始化项目:
    npminit -y
    这会创建一个默认的package.json文件。

步骤 3:安装测试框架
选择一个测试框架安装。这里以流行的Jest为例:

npminstall--save-dev jest

(备选:你也可以选择Mocha+Chai等组合)

步骤 4:编写被测试的函数
创建一个文件math.js,写入一个简单的函数:

// math.jsfunctionadd(a,b){returna+b;}functionsubtract(a,b){returna-b;}module.exports={add,subtract};

步骤 5:编写测试用例
创建一个测试文件math.test.js(Jest 默认会查找*.test.js文件):

// math.test.jsconst{add,subtract}=require('./math');// 导入要测试的函数// 描述测试组 (通常描述被测试的功能模块)describe('数学函数测试',()=>{// 测试用例 1: 测试 add 函数it('应该正确计算两个数字的和',()=>{// 断言:调用 add(2, 3),预期结果是 5expect(result).toBe(5);expect(add(-1,1)).toBe(0);});// 测试用例 2: 测试 subtract 函数it('应该正确计算两个数字的差',()=>{// 断言:调用 subtract(5, 3),预期结果是 2expect(subtract(5,3)).toBe(2);expect(subtract(10,20)).toBe(-10);});});

步骤 6:配置package.json运行脚本
打开package.json,在"scripts"部分添加一个test命令:

{"name":"js-test-demo","version":"1.0.0","scripts":{"test":"jest"// 添加这行},"devDependencies":{"jest":"^29.7.0"}}

步骤 7:运行测试
在终端运行命令:

npmtest

预期输出:
你会看到类似下面的输出,表明两个测试用例都通过了:

PASS ./math.test.js 数学函数测试 ✓ 应该正确计算两个数字的和 (2 ms) ✓ 应该正确计算两个数字的差 Test Suites: 1 passed, 1 total Tests: 2 passed, 2 total Snapshots: 0 total Time: 0.123 s Ran all test suites.

进阶:单独调试某个测试用例的返回值
如果你只想查看某一个测试用例的返回值,不需要运行全部用例,可以:

  1. 将目标测试用例的 test() 改为 test.only()(仅运行该用例):
// math.test.jsconst{add,subtract}=require('./math');// 导入要测试的函数// 描述测试组 (通常描述被测试的功能模块)describe('数学函数测试',()=>{test.only('应该正确计算两个数字的和',()=>{// 先接收返回值constresult=add(2,3);// 打印具体返回值(标注场景便于识别)console.log('【应该正确计算两个数字的和】返回值:',result);expect(result).toBe(5);});});
  1. 运行 npm test,终端只会输出该用例的返回值和测试结果,更聚焦。
    总结

总结:

  1. 创建项目npm init -y
  2. 安装测试框架npm install --save-dev jest
  3. 编写功能代码 (math.js)
  4. 编写测试代码 (math.test.js),使用describe,it,expect
  5. 配置package.jsontest脚本
  6. 运行测试npm test

这样就完成了一个简单的 JavaScript 测试用例。你可以根据需要扩展功能函数和添加更多的测试用例。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/27 12:07:45

xilinx-DNA

一、Device DNA 具体含义 Device DNA​ 是 AMD Xilinx 现场可编程门阵列 和自适应计算加速平台 芯片中一项至关重要的硅片级安全与识别特性。 您可以将其理解为芯片的 “硅片指纹”​ 或 “不可克隆的硬件序列号”。 本质:一个在芯片生产测试阶段被永久性熔断&…

作者头像 李华
网站建设 2026/3/31 11:46:33

FastGPT + BrillAI:从问答到 AI 助手,低成本打造企业级 AI 方案

在人工智能技术飞速发展的今天,大型语言模型正以前所未有的速度改变着我们的生活和工作方式。FastGPT作为一款基于先进AI技术的智能助手,在海内外技术社区及媒体上收获了诸多好评,许多开发者/用户称其为“易用且功能强大”的大模型落地方案&a…

作者头像 李华
网站建设 2026/3/27 3:55:49

本地AI知识库问答开源技术实现(一)--安装和准备

自从 DeepSeek-R1 火出圈以来,很多个人和公司开始尝试本地化部署,以解决原来一些内部资料安全和隐私问题;我们也尝试在本地进行相关部署,以验证本地知识库是否可行,最终达到以下目的: 所有知识库内容不通过…

作者头像 李华
网站建设 2026/3/31 5:28:19

论 AI Skills 分布式发展的必然性:从单体智能到“云端大脑”的跃迁

在人工智能从“对话式模型”向“原生智能体(Agentic AI)”进化的进程中,我们正处于一个类似于互联网从单机软件向分布式架构转型的关键拐点。这一转型的核心,在于 AI Skills 的崛起及其分布式发展的必然。 一、 什么是 AI Skills…

作者头像 李华
网站建设 2026/3/27 15:57:05

AI算法算力平台EasyGBS:国标GB28181视频监控与智能管理解决方案

在数字化转型加速推进的背景下,视频监控已成为各行业安全管理、应急处置、运营优化的核心支撑手段。国标GB28181算法算力平台EasyGBS,凭借全协议兼容接入、全流程协同调度等核心能力,构建了一体化视频监控解决方案,广泛适配多样化…

作者头像 李华