javaScript单元测试

212 阅读1分钟

Node assert 的用法

所谓"断言",就是判断源码的实际执行结果与预期结果是否一致,如果不一致就抛出一个错误

assert.deepEqual(actual, expected[, message])//是否深度相等
assert.doesNotThrow(fn[, error][, message]) //断言 fn 函数不会抛出错误
assert.fail([message])//抛出错误

mocha

mocha是JavaScript的一种单元测试框架,既可以在浏览器环境下运行,也可以在Node.js环境下运行。支持before、after、beforeEach和afterEach来编写初始化代码

全局安装mocha

npm install --global mocha

add.js

module.exports = function (x,y) {
    return x+y;
};

add.test.js

const assert = require('assert');
const add= require('./add');
assert.strictEqual(add(1,2), 3);

运行

mocha

TDD 和 BDD 的差别

TDD:测试驱动开发(Test-Driven-Development) 原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。通过测试来推动整个开发的进行,把需求分析,设计,质量控制量化的过程。TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。

BDD:行为驱动开发(Behavior Driven Development) 鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作。主要是从用户的需求出发,强调系统行为。