zoukankan      html  css  js  c++  java
  • node API assert

    1、assert.throws(block, [error], [message]):

    assert.throws(
        function(){
            throw new Error('wrong');
        },
        Error
    );
    //通过
    assert.throws(
        function(){
            throw new Error('wrong');
        },
        /value/         //正则表达式
    );
    //wrong
    assert.throws(
        function(){
            throw new Error('wrong');
        },
        function(err){
            console.log('err:'+err);
            if((err instanceof Error) && /value/.test(err) ){
                return true;
            }
        },
        'error'     //好像没用啊
      );
    //wrong

    2、assert.ifError(value):为true时异常,常用语检查回调中的error参数。 

    3、assert.strictEqual(actual, expected, [message]):===

         assert.notStrictEqual(actual, expected, [message]):!==

       抛出异常时,会显示message。

    4、assert.deepEqual(actual, expected, [message]):对象深度匹配

       assert.notDeepEqual(actual, expected, [message]):对象非深度匹配 

    匹配规则:1.采用===比较;2.比较他们是否是Buffers,如果是则比较长度,接下来每字节每字节的比较;3.是用==比较;4.最后如果参数是object对象,则比较他们得属性长度和属性值。可以看的出来,这两个方法性能上可能要差些,所以只有在需要的时候才使用他们。 

    5、assert.equal(actual, expected, [message]):简单值的比较

      assert.notEqual(actual, expected, [message]):

    false:false,0,空值(''),null,undefined,NaN。

    6、assert(value, message), assert.ok(value, [message]):assert.equal(true, !!value, message)的简化版

    7、assert.fail(actual, expected, message, operator):

    assert.fail(23, 42, undefined, '###');         //23 ### 42
    
    assert.fail(23, 42, 'fails', '###');           //wrong
    

    stackoverflow上说:在构建自己的测试框架时,operator会有用;如果message为undefined时,才会有用。

  • 相关阅读:
    Python基础
    熟悉常见的Linux操作
    大数据概述
    实验报告(3)-语法分析
    LL(1)文法
    简化版C语言文法
    实验报告(1)-词法分析
    中文词频统计
    综合练习:英文词频统计
    字符串练习
  • 原文地址:https://www.cnblogs.com/wang-jing/p/4173181.html
Copyright © 2011-2022 走看看