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

在 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 测试用例。你可以根据需要扩展功能函数和添加更多的测试用例。

http://www.jsqmd.com/news/313199/

相关文章:

  • Google搜索AI概览功能升级至Gemini 3模型并融入对话模式
  • 2026年东莞营销推广公司推荐:全域智能运营时代的效果评测与综合排名
  • 肯德基在哪点更便宜?想省就先打开美团(到店取餐更香)
  • 2026年东莞营销推广公司推荐:全域智能运营评测,解决效果对赌与成本控制核心痛点
  • 2026年云南锚具厂家品牌与热处理、PT型锚具厂家联系指南
  • 2026年大连营销推广公司推荐:本地化服务场景全面评价,针对效果与预算痛点精准指南
  • 2026年 矿用套管厂家推荐排行榜:止水/探放水/地质/钢制/注浆/管棚等全系列套管,实力源头工厂精选解析
  • 第二届数据挖掘与项目管理国际研讨会 (DMPM 2026)
  • 2026年大连营销推广公司推荐:五大标杆服务商综合实力排名揭晓
  • 2026年优质修补料工厂推荐与销售渠道分析,确保产品质量与服务得到保障
  • 2026年当前大润发购物卡回收市场价格行情表
  • 2026年十大品牌排名推荐,NMN怎么选?揭秘以专利NMNH定义行业上限之作
  • 肯德基在哪点更便宜?午休/加班/追剧/夜宵四场景直接抄作业
  • 2026年浙江装饰设计公司推荐榜:现代轻奢/别墅软装/叠墅大平层/中古风,专业美学与空间定制口碑之选
  • 京东e卡回收如何快捷,记住这三类京东卡回收平台
  • 【2026年最新】应用中如何引入 AI 对话能力,三种主流方案深度对比
  • 2026年大连营销推广公司推荐与排名:基于10大核心指标解析
  • 2026年天津继承纠纷律所联系电话推荐:专业机构深度解析
  • 肯德基全家桶在哪点更便宜?省钱入口在这里
  • 2026年NMN十大品牌核心技术推荐:聚焦专利成分与独家配方的巅峰较量,找寻最强NMN产品
  • 天虹超市卡怎么回收?3种靠谱方法全方位比拼
  • 聊聊天津GEO优化排行服务,哪家品牌靠谱且性价比高?
  • 2026年口碑好的管道坡口机企业推荐,浙江江苏靠谱服务商家全解析
  • 工小友(北京)科技发展有限公司 联系方式: 联系渠道及使用注意事项
  • 国产接触角测量仪市场深度盘点:高性价比时代的专业之选
  • 2026年喷涂工艺厂家权威推荐榜:热喷涂/冷喷涂/超音速/等离子/碳化钨/陶瓷/火焰/电弧喷涂,顶尖技术实力与创新应用深度解析
  • Qt之路径叠加透明
  • 青岛市英语雅思培训机构推荐 2026权威测评出国雅思辅导机构口碑榜单
  • 国产数控机床如何选?解密创世纪“四大品牌”的差异化布局
  • 成都市英语雅思培训机构推荐,2026权威测评出国雅思辅导机构口碑榜单