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时,才会有用。

  • 相关阅读:
    JVM视角:值传递or引用传递?【转】
    mybaits trim用法
    Collections.shuffle()用法
    api缓存
    接口开发
    Integer.parseInt()和这个Integer.valueOf()的详解【转】
    MyBatis 通过包含的jdbcType类型
    idea 相关设置
    idea快捷键
    equals 与 ==
  • 原文地址:https://www.cnblogs.com/wang-jing/p/4173181.html
Copyright © 2011-2022 走看看