我是靠谱客的博主 要减肥山水,最近开发中收集的这篇文章主要介绍Node.js的断言模块assert进行单元测试,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

首先先引入断言assert模块

var assert = require('assert');

1.assert(value, message), assert.ok(value, [message])  //判断中值是否为true

 assert.ifError(value) //测试值是否不为 false,当为 true 时抛出。常用于回调中第一个 error 参数的检查。

 

var a = 0;
assert(a,'这里需要值为true');   //AssertionError: 这里需要值为true
assert.ok(a,'这里也要为true');  // AssertionError: 这里也要为true

 

 

2.assert.fail(actual, expected, message, operator) //抛出异常,有message时显示message,没有使用operator作为为分隔符

var a = 0;
assert.fail(a,1,'a!=1','<'); // AssertionError: a!=1
assert.fail(a,2,'','<');    // AssertionError: 0 < 2

 

3.assert.equal(actual, expected, [message])   //("=="判断)是否相等 相反:notEqual

 assert.strictEqual(actual, expected, [message])  //("==="判断)是否相等 相反:notStrictEqual

var a = 2;
var a='2';

assert.equal(a,b,'a,b不相等 ==')
assert.notEqual(a,b,'a,b相等')      // AssertionError: a,b相等
assert.strictEqual(a,b,'a,b不完全相等 ===')  // AssertionError: a,b不完全相等 ===

 

4.assert.deepEqual(actual, expected[, message])、// 是否深度匹配  相反: notDeepEqual

 

var buf1 = new Buffer('abc');
var buf2 = new Buffer('abc');

assert.strictEqual(buf1, buf2, 'buf1和buf2不一样');  //AssertionError: buf1和buf2不一样
assert.notDeepEqual(buf1, buf2, 'buf1和buf2一样');  //AssertionError: buf1和buf2一样

 

 

 

 

5.assert.throws(block, [error], [message]) //声明一个block用于抛出错误,'error'可以是构造函数,验证函数或者正则表达式

    assert.doesNotThrow(block, [message])//声明模块不抛出错误

//构造函数
assert.throws(
  function() {
    throw new Error("Wrong value");
  },
  Error
);

//正则
assert.throws(
  function() {
    throw new Error("Wrong value");
  },
  /value/
);

//自定义错误
assert.throws(
  function() {
    throw new Error("Wrong value");
  },
  function(err) {
    if ( (err instanceof Error) && /value/.test(err) ) {
      return true;
    }
  },
  "unexpected error"
);

 

转载于:https://www.cnblogs.com/hong7zai/p/5909914.html

最后

以上就是要减肥山水为你收集整理的Node.js的断言模块assert进行单元测试的全部内容,希望文章能够帮你解决Node.js的断言模块assert进行单元测试所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部