写这个的目的算是把node的模块温习一遍,也希望可以给刚开始学习node的人一个帮助,这里不会写什么框架的东西,因为就算你让我说,我也说不好,从node api上可以看到,assert模块是放在第一位的,那就先从assert模块开始吧。
Assert
首先assert作为断言,主要是针对项目去进行测试,降低维护成本,断言模块会允许开发者定义程序运行的预期结果,如果运行的结果与预期不同,则会抛出异常。
这里有一个简单的例子
assert.equal(1, "1"); //run success
assert.equal(1, "2"); // throw new errors.AssertionError({
// ^AssertionError [ERR_ASSERTION]: 1 == '2'
从上面一个简单的测试可以看得出来,assert会把两个参数进行比较,如果失败就会抛出错误。
从源码中我们可以很轻易看出来equal的运行原理
assert.equal = function equal(actual, expected, message) {
if (actual != expected) fail(actual, expected, message, '==', assert.equal);
};//如果actual与expected值不相等,则会执行fail函数来抛出错误
但是我们会发现这里并没有用到message
参数,message
参数主要是用于告诉用户到底发生了什么
assert.equal(1, "2","This test is wrong");
//AssertionError [ERR