JavaScript单元测试是针对函数最小可测单元的隔离验证,确保其在各种输入下返回预期结果;核心是不依赖DOM、网络等外部环境,专注逻辑正确性,常用Jest框架实现断言、mock和异步测试。

JavaScript 中的单元测试,就是针对函数(或模块)的最小可测单元,单独验证它在各种输入下是否返回预期结果。核心是“隔离”——不依赖外部环境(如 DOM、网络、数据库),只关注函数本身逻辑是否正确。
为什么需要为函数写单元测试
函数是 JS 开发中最基础、最常复用的单元。一个计算价格的函数、一个格式化日期的工具、一个校验邮箱的正则封装……如果它们出错,可能影响多个页面或功能。单元测试能:
- 快速发现修改引发的意外问题(比如重构后逻辑变错)
- 明确函数的输入边界和行为(比如空字符串、负数、null 怎么处理)
- 让别人(或未来的你)放心调用这个函数——有测试兜底,就知道它“承诺过什么”
用 Jest 写一个简单函数的测试(推荐入门)
Jest 是目前最主流的 JS 单元测试框架,零配置起步快,断言清晰,还自带模拟(mock)能力。假设我们有一个加法函数:
function add(a, b) { return a + b; }对应的测试文件(比如 add.test.js)可以这样写:
立即学习“Java免费学习笔记(深入)”;
test('add 函数应正确返回两数之和', () => {expect(add(2, 3)).toBe(5);
expect(add(-1, 1)).toBe(0);
expect(add(0.1, 0.2)).toBeCloseTo(0.3); // 浮点数用 toBeCloseTo
说明:
- test() 定义一个测试用例,第一个参数是描述性文字,第二个是执行断言的函数
- expect(...).toBe(...) 是断言:检查实际值是否严格等于预期值
- 浮点运算有精度误差,所以 0.1 + 0.2 !== 0.3,要用 toBeCloseTo 判断近似相等
覆盖常见边界情况(不只是“正常值”)
好测试不是只测“对的输入”,更要测函数如何应对异常或边缘场景。比如改进上面的 add,让它更健壮:
标签: javascript java js json 工具 ai 邮箱 为什么
还木有评论哦,快来抢沙发吧~