zoukankan      html  css  js  c++  java
  • node 单元测试

      

      一、断言

        在node中可以通过 var assert = require('assert'); 方式引入assert模块,其主要检测方法如下:

      1. ok():判断结果是否为真;

      2. equal():判断实际值与期望值是否相等;

      3. notEqual():判断实际值与期望值是否不相等;

      4. deepEqual():判断实际值与期望值是否深度相等(对象或数组的元素是否相等);

      5. notDeepEqual():判断实际值与期望值是否不深度相等;

      6. strictEqual():判断实际值与期望值是否严格相等(相当于===);

      7. notStrictEqual():判断实际值与期望值是否不严格相等(相当于!==);

      8. throws():判断代码块是否拋出异常;

      9. doesNotThrow():判断代码块是否没有拋出异常;

      10. ifError():判断实际值是否为一个假值(null、undefined、0、''、false),如果实际值为真值,将会拋出异常。

      二、测试框架

        以mocha,安装命令如下:

    npm install mocha -g

        查看报告格式:

    mocha --reporters

        生成报告:

    mocha -R <reporter>

      三、测试代码的文件组织

        包规范中定义了测试代码存在于test目录中,而模块代码存在于lib目录下,想运行单元测试,别忘记在package.json中添加依赖关系。

      四、测试用例

        对主要功能的测试方法至少具备:

      1. 正向测试;
      2. 反向测试;
      3. 异步测试;
      4. 超时测试;

       五、测试覆盖率

        本例通过jscover模块来检测每一行代码是否被执行,安装代码:

    npm install jscover -g

        

      六、mock

        通过伪造被调用方来测试上层代码的健壮性;

        

  • 相关阅读:
    AcWing 276. I-区域
    学习笔记:可持久化线段树(主席树):静态 + 动态
    NOIP2016提高组 天天爱跑步
    AcWing 195. 骑士精神
    标准文档流
    css 盒模型
    css 继承性和层叠性
    css 选择器
    css 引入方式
    html body中的标签2
  • 原文地址:https://www.cnblogs.com/webcabana/p/13386473.html
Copyright © 2011-2022 走看看