zoukankan      html  css  js  c++  java
  • 2、单元测试框架优劣及选型

    1、框架选型 

    -  jasmine 

      - BDD风格测试框架,

      - 开箱即用

      - 自带断言及mock功能

      - 比较老,坑基本都被踩过

      - 不易扩展

    - Jest

      - 基于 jasmine,

      - 开箱即用配置少,API简单

      - 支持断言和仿真

      - 支持快照测试

      - 对 react 友好

      - 较新,社区不十分成熟

    - mocha

      - tj出品,

      - 可运行在node端和浏览器端

      - 需要自己搭配断言库和仿真等

      - 可使用快照测试,但依然需要额外配置

      - 需要较多配置

      - 社区成熟用的人多

      - 灵活,可配置

    - Qunit

      - 出自jquery,

      - 后独立出来不再依赖jquery,

      - 已经被其他框架从各方面超越

    - intern

      - SitePen公司推出

      - 功能比较齐全

      - 使用人少,比较小众

    2、断言库 

    - chai

      - 目前流行的断言库,

      - 支持BDD、TDD两种风格,全面

    - should

      - TJ出品,

      - API予以较好,

      - 文档不足

    - expect

      - should的子集,

      - 没有亮点

    - assert

      - node核心模块,

      - node运行环境可以直接使用,

      - 语法弱

    3、mock库 

    - sinon.js

      - 提供spies、stubs、mocks,还有fake timers、fake XmlHttpRequest 等功能

    经过选型,最终决定使用

    mocha + chai + sinon

    名词解释:

    • 测试框架:即组织你的测试,当前流行 BDD 的测试结构。
    • 快照测试(snapshot testing):测试 UI 或数据结构是否和之前完全一致,通常 UI 测试不在单元测试中
    • 仿真(mocks, spies, and stubs):获取方法的调用信息,模拟方法,模块,甚至服务器
  • 相关阅读:
    Qt 打印机支持模块
    手动启动jenkins
    Ubuntu下安装Apache2, php5 mysql
    Ubuntu 使用apt-get时提示错误:无法获得锁 /var/lib/dpkg/lock
    scp 在不同机器上传文件
    python 正则表达式 贪婪模式的简介和匹配时的几种模式
    python指定pypi的源地址 镜像地址
    python三元运算符
    python导入上级目录中的模块
    linux下使用vim替换文件中的^M换行符
  • 原文地址:https://www.cnblogs.com/slightFly/p/13662172.html
Copyright © 2011-2022 走看看