Node.js内嵌了对于测试的支持, 就是 assert 模块
assert 模块 在测试时可以使用严格模式(strict) 或遗留模式(legacy),但建议仅使用严格模式。
使用遗留模式 和 严格模式 的对比。
// 遗留模式
const assert = require('assert');
// 严格模式
const assert = require('assert').strict;
另外一种:在方法级别使用严格模式:
// 遗留模式
const assert = require('assert')
// 使用严格模式的方法
assert.strictEqual(1,2); // false
// 使用严格模式
const assert = require('assert').strict;
assert.equal(1,2); // false
了解 AssertionError
通过 “new assert.AssertionError(options)“ 的方式 实例化了一个 AssertionError 对象。
其中 options 参数:
- message: 如果提供,则将错误消息设置为此值。
- actual: 错误实例上的 actual 属性将包含此值。在内部用于 actual 错误输入,如使用 assert.strictEqual()
- expected: 错误实例上的expected 属性将包含此值。在内部用于 expected 错误输入,如使用 assert.strictEqual()
- operator: 错误实例上的 operator 属性将包含此值。
- stackStartFn: 如果提供,则生成的堆栈跟踪将移除所有帧直到提供的函数。
Mocha 被认为是 另一个流行的测试框架 Espresso 的继承者。 Mocha 适用于浏览器和Node 应用程序。它允许通过done 函数进行异步测试,但可以省略同步测试的功能。
npm install mocha -g
assert = require('assert')
describe('MyTest', function() {
describe('First', function() {
it('sample test', function () {
assert.equal('hello', 'hello');
});
});
});
mocha testcase.js