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和非技术人员或商业参与者之间的协作。主要是从用户的需求出发,强调系统行为。