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):获取方法的调用信息,模拟方法,模块,甚至服务器
  • 相关阅读:
    Javascript、Jquery获取浏览器和屏幕各种高度宽度
    Chrome浏览器快捷键
    CSS流体(自适应)布局下宽度分离原则
    JS中的call()和apply()方法
    获取滚动条高度
    手把手教你写Sublime中的Snippet
    Ajax
    javascript创建文档碎片节点
    JS获取元素尺寸大小、鼠标位置
    web开发必备插件
  • 原文地址:https://www.cnblogs.com/slightFly/p/13662172.html
Copyright © 2011-2022 走看看