Skip to content

Latest commit

 

History

History
54 lines (36 loc) · 1.69 KB

File metadata and controls

54 lines (36 loc) · 1.69 KB

测试

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