Js测试框架基础入门_测试小白攻略

1、JestJest是Facebook团队构建和维护的JavaScript测试框架,基于Jasmine的JavaScript单元测试框架。Jest在2018年接受度非常高,今年在JavaScript社区更是如此,根据Github的数据,目前超过150万个项目在使用Jest。在过去的一年里继续使用Jest的用户占比从39%飙升至61%,这是一个周期性的增长率,

Js测试框架基础入门

1、Jest

Jest是Facebook团队构建和维护的JavaScript测试框架,基于Jasmine的JavaScript单元测试框架。Jest在2018年接受度非常高,今年在JavaScript社区更是如此,根据Github的数据,目前超过150万个项目在使用Jest。

Js测试框架基础入门_测试小白攻略

在过去的一年里继续使用Jest的用户占比从39%飙升至61%,这是一个周期性的增长率,从2017年到2018年一直在增长,不过,对Jest感兴趣的人数比例也下降了,这个数字从29%下降到22%。

2、Mocha

Mocha是近年来使用量最多的JavaScript测试框架之一,除了庞大的生态系统,Mocha还有完善的文档可供参考。Mocha非常灵活,对许多扩展都是支持的,根据Github的数据,Mocha已经被90多万个项目使用。

根据调查显示,在过去的一年里,继续使用Mocha的用户占比从39%飙升至42%,大约8%的受访者没有听说过Mocha。

3、Storybook

Storybook是一个UI组件的开发环境。通过它用户可以查看每个组件的不同状态,交互式开发、测试组件,它在Github上拥有庞大的用户群,Storybook的用户留存率在2019年度翻了一番,从15%增加到32%,对其感兴趣的用户也从23%增长至26%。

4、Cypress

Cypress是一个快速可靠的JavaScript测试工具,它基本上是将测试注入到Web应用程序中去,Cypress同样提供了一个清晰的文档,目前,Cypress最大的竞争对手是一个名为TestCafe的测试框架。

根据Github数据显示,目前使用Cypress的用户已经超过2.5万个,用户留存率为23%。

5、Enzyme

Enzyme来自airbnb公司,是一个用于React的JavaScript测试工具,方便你判断、操纵和历遍React Components输出。

Enzyme的API通过模仿jQuery的API ,使得DOM操作和历遍很灵活、直观。Enzyme 兼容所有的主要测试运行器和判断库,文档和例子使用mocha和chai。在2019年度,Enzyme的用户留存率从20%上升到23%

6、Ava

Ava一个简约的测试库,AVA具有简洁的API,它最大的优势是 Java 的异步特性和并发运行测试, 这反过来提高了性能。根据GitHub的数据,目前有47000个项目在使用它,去年,大约72%的JavaScript开发人员听说过Ava。今年,这一数字降至69%,但是用户留存率则上升至5%。

7、Jasmine

Jasmine 是一款 JavaScript测试框架,它不依赖于其他任何 JavaScript组件,因此,它适合于网站、Node.js项目或任何JavaScript可以运行的地方。根据调查,在2019年度,Jasmine的用户留存率略有上升,但是和其他框架相比还有一定差距。

8、Puppeteer

Puppeteer是谷歌官方出品的一个通过DevTools协议控制headless Chrome的Node库。可以通过Puppeteer的提供的api直接控制Chrome模拟大部分用户操作来进行UI Test或者作为爬虫访问页面来收集数据。

根据调查显示,Puppeteer的用户留存率为24.3%,尽管已经有超过55,000个项目在使用Puppeteer,但用户对它的认识还是不够。

Puppeteer和Cypress是今年新加入的成员,但是已经成为 Mocha、 Jasmine、Jest等测试框架的强有力对手。Jest的用户里96%都是回头客。

海计划公众号
(0)
上一篇 2020/03/20 07:33
下一篇 2020/03/20 07:33

您可能感兴趣的内容

  • 设计逻辑的细致和严密问题基础入门_设计使用指南

    本文定义一对概念,用于其他的设计文档写作的讨论。我们从工程上的精确和准确来引申我们的概念。测量一段距离的长度,得到结果是0.34米,我们可以提高测量的水平,得到一个更好的结果,比如0.342377946米。后者比前者具有更高的精确度(或者简称精度)。我们说后者比前者更“精确”。精确度表现出来是更多的信息或者说细节,但更多的信息和细节,并不意味着正确。比如,我

    2020/03/20
  • 码易众包入门基础_企业应用商店与云服务平台

    码易众包入门基础 官方网址:https://www.mayigeek.com/ 简介描述:企业应用商店与云服务平台 码易众包是一款高质量极速交付以及软件开发众包平台。码易众包的开发…

    2020/03/11
  • 前端常用的CSS动画库小白教程_库指南攻略

    前端常用的CSS动画库小白教程 动效设计一直都是最近几年前端开发的热门趋势之一。动画是Web和UI设计的主要内容。一个完全静止的网站,即使是使用了微妙的悬停状态,也可能感觉不一样。…

    2020/03/20
  • React Native 添加 Redux 支持菜鸟攻略_native入门教程

    0x1 前言之前写的项目都是人家编写好的脚手架,里面包含项目所需的环境文件,但由于有些东西用不到打包增加软件体积,所以自己从头搭建个环境。是基于 Native Base + react-navigation + Redux 的 React Native 脚手架,现在项目环境如下:{“name”: “app”,”version”: “0.0.1”,”priva

    2020/03/26
  • JS声明对象时属性名加引号与不加引号的问题使用说明_对象使用帮助

    一般情况下属性名加引号和不加引号是都可以的,效果是一样的。var obj = { name : ‘你好’, ‘age’ : 1,
    }; document.write( obj[‘name’] + ‘
    ‘ );
    document.write( obj.age);上面两行代码均可以正确执行。当且仅当你的属性名是非法怪异的名字时候

    2020/04/05
  • 最让程序员抓狂和崩溃的事情是什么指南教程_程序员基础指南

    对于非程序员来说,程序开发看似一个非常不错的工作, 有着较高的薪资、市场需求量也很高,互联网公司还提供了各种各样的补贴福利等等。 然而实话实说,这份工作可能一天之内有好几件事能把一个普通程序员逼迫抓狂和崩溃。 下面就整理一些最让程序员抓狂和崩溃的事情。1、产品经理:你看别人的APP都实现了,我们为何实现不了 有的产品不懂技术,通常无法对开发工作的难易程度

    2020/04/03
  • 监听Canvas内部元素点击事件的三种方法菜鸟教程下载_Canvas菜鸟教程下载

    canvas内部元素不能像DOM元素一样方便的添加交互事件监听,因为canvas内不存在“元素”这个概念,他们仅仅是canvas绘制出来的图形。这对于交互开发来说是一个必经障碍,想要监听图形的点击事件思路很简单,只要监听canvas元素本身的点击事件,再判断点击坐标位于哪一个图形内部,就变相实现了图形点击事件。本文将介绍三种方法,判断坐标点是否位于某个can

    2020/03/24
  • babel-preset-env:一个帮你配置babel的preset基础知识入门_babel入门知识

    babel-preset-env 一个帮你配置babel的preset,根据配置的目标环境自动采用需要的babel插件。问题目前,几个presets就能让你确定babel应该支持那些功能:babel-preset-es2015, babel-preset-es2016等:支持不同版本的ECMAScript规范。 es2015 转译了ES6比ES5的新特性,

    2020/04/05
  • 现代软件开发:销售催产品,产品催开发,开发催测试小白知识_产品使用攻略

    一家领先的 SaaS 公司的 CTO 找我去给他的软件团队做指导。“他们的 bug 太多了”,他说。“他们总是没能赶上预估的进度”,他说。“他们没有对功能进行良好的规划”,他说。“出了问题,他们只会责怪产品经理,而产品经理就反唇相讥。”经过三十分钟的讨论,我们发现了一些问题:QA 团队被想要快速发布软件的工程团队催;工程团队被想要看到新功能的产品团队催;产品

    2020/03/29
  • PixelMatch基础知识入门_一个最小、最简单、最快的js像素级图像比较库

    PixelMatch基础知识入门 GitHub:https://github.com/mapbox/pixelmatch 简介描述:一个最小、最简单、最快的js像素级图像比较库 P…

    2020/03/10
  • 为什么要初始化css样式?使用指南_样式新手入门

    为什么要初始化css样式1.浏览器差异不同浏览器对有些标签的默认值是不同的,如果没对css初始化会出现浏览器之间的页面显示差异2.提高编码质量如果不初始化,整个页面做完会很糟糕,重复的css样式很多最简单的初始化方法是:(不建议)* {padding: 0; margin: 0;}淘宝样式 样式初始化body, h1, h2, h3, h4, h5, h6,

    2020/03/29
  • alita基础知识_React Native代码转换成微信小程序代码的转换引擎工具

    alita基础知识 官方网址:https://areslabs.github.io/alita GitHub:https://github.com/areslabs/alita 简…

    2020/03/06
  • Vue 和递归组件使用帮助_递归基础教程

    简介有人说递归很难理解,也有人不这么认为。递归函数简单的定义是:一个自调用函数,这意味着它将在执行的某个时刻调用自己。从理论上讲,递归是一种需要两个属性的行为:结束点:停止递归的情况一组规则:负责将所有的操作减少到结束点咱们无法决定哪一个更重要。如果没有结束点,递归将成为一个无限循环,但是如果一组规则就不能实现期望的行为,所以两者都存在才能使它正常工作。递归

    2020/03/23
  • 首页白屏优化实践小白攻略_优化使用帮助

    前言自从前端三大框架React、Vue、Angular面世以来,前端开发逐渐趋向规范化、统一化,大多数时候新建前端项目,首先想到使用的技术一定是三大框架之一,框架给前端开发带来了极大的便利和规范,但是由于这三大框架都是JS驱动,在JS没有解析加载完成之前页面无法展示,会处于长时间的白屏,带来了一定的用户体验问题,接下来本篇文章会介绍本人最近在白屏优化时遇到的

    2020/03/24
  • 微服务架构之「 容器技术 」菜鸟教程网_Docker基础教程

    现在一聊到容器技术,大家就默认是指 Docker 了。但事实上,在 Docker 出现之前,PaaS社区早就有容器技术了,以 Cloud Foundry、OpenShift 为代表的就是当时的主流。那为啥最终还是 Docker 火起来了呢?因为传统的PaaS技术虽然也可以一键将本地应用部署到云上,并且也是采用隔离环境(容器)的形式去部署,但是其兼容性非常的

    2020/03/26
  • vue之watch属性使用方法攻略教程_watch使用帮助

    vue之watch属性使用方法vue中使用了watch侦听属性用来监听和响应 Vue实例上的数据变动.下面的代码展示的是watch属性的完整用法,在工作中发现可以根据不同的情况使用watch属性有三种不同的写法new Vue({el: ‘#myVue’,data: {people: {id: 1, name: ‘tom’}},watch: {people:

    2020/03/24