测试工具Testing

为什么需要测试?

Web应用程序越来越复杂,这意味着有更多的可能出错。测试是帮助我们提高代码质量、降低错误的最好方法和工具之一。通过测试提供软件的质量,在开始的时候,可能会降低开发速度。但是从长期看,尤其是那种代码需要长期维护、不断开发的情况,测试会大大加快开发速度,减轻维护难度。

单元测试是什么?

单元测试(unit testing)指的是以软件的单元(unit)为单位,对软件进行测试。单元可以是一个函数,也可以是一个模块或组件。它的基本特征就是,只要输入不变,必定返回同样的输出。

实例

     import test from 'ava'import tools from '../../service/tools'/** 获取指定位数的随机数字符串 */test('getRandom', t => {// 自然数let result = tools.getRandom(6);t.is(result.length, 6);// 1000位result = tools.getRandom(1000);t.is(result.length, 1000);// 小数result = tools.getRandom(6.8);t.is(result.length, 6);// 负数result = tools.getRandom(-6.8);t.is(result.length, 0);// 字符串result = tools.getRandom('abc');t.is(result.length, 0);// nullresult = tools.getRandom(null);t.is(result.length, 0);// undefinedresult = tools.getRandom(undefined);t.is(result.length, 0);});

测试框架

所谓”测试框架”,就是运行测试的工具。通过它,可以为JavaScript应用添加测试,从而保证代码的质量。

JEST

Jest是 Facebook 的一套开源的 JavaScript 测试框架, 它自动集成了断言、JSDom、覆盖率报告等开发者所需要的所有测试工具,是一款几乎零配置的测试框架。并且它对同样是 Facebook 的开源前端框架 React 的测试十分友好。

react-testing-library

暂时只知道这是个测试框架

cypress

cypress是在mocha式API基础上构建的一套开箱可用的E2E(端到端即黑盒测试)测试框架,对比其他测试框架,它提供一套自己的最佳实践方案,无需其他测试工具库,配置方便简单但功能异常强大,可以使用webpack项目配置,还提供了一个强大的GUI图形工具。

Enzyme

Enzyme是由Airbnb开源的一个React的JavaScript测试工具,使React组件的输出更加容易extrapolate 。Enzyme的API和jQuery操作DOM一样灵活易用,因为它使用的是cheerio库来解析虚拟DOM,而cheerio的目标则是做服务器端的jQuery。Enzyme兼容大多数断言库和测试框架,如chai、mocha、jasmine等。

Mocha

Mocha(发音"摩卡")诞生于2011年,是现在最流行的JavaScript测试框架之一,在浏览器和Node环境都可以使用。

Chai

暂时只知道这是个测试框架

Ava

暂时只知道这是个测试框架

Jasmine

Jasmine的开发团队来自PivotalLabs,他们一开始开发的JavaScript测试框架是JsUnit,来源于著名的JAVA测试框架JUnit。JsUnit是xUnit的JavaScript实现。但是JsUnit在2009年后就已经停止维护了,他们推出了一个新的BDD框架Jasmine。Jasmine不依赖于任何框架,所以适用于所有的Javascript代码。

测试工具Testing相关推荐

  1. API Testing 12 - API测试工具

    API Testing 入门基础系列 之 API Testing 12 - API测试工具 市场上有很多API测试工具,有一些是免费的,一些是付费的.有些免费版本只提供一些基本功能,当然也有很多好的免 ...

  2. benchmarksql测试mysql_数据库压力测试工具 -- BenchmarkSQL 使用说明

    关于数据库的压力测试,之前写过3篇Blog: 数据库基准测试(Database Benchmarking) 说明 数据库压力测试工具 -- Hammerdb 使用说明 数据库压力测试工具 -- Swi ...

  3. 《 自动化测试最佳实践:来自全球的经典自动化测试案例解析》一一2.4 开发内部测试工具...

    2.4 开发内部测试工具 该内部测试工具的基本功能是由3 ~ 4位开发人员在6 ~ 9个月的时间内开发出来的,是用Java语言编写的.第一个版本开发之后,一个人专门负责对其进行维护和进一步的开发,显然 ...

  4. Web性能压力测试工具——Siege详解

    Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力.可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行. ...

  5. 10大主流压力测试工具推荐(转载)

    在移动应用和Web服务正式发布之前,除了进行必要的功能测试和安全测试,为了保证互联网产品的服务交付质量,往往还需要做压力/负载/性能测试.然而很多传统企业在试水互联网+的过程中,往往由于资源或产品迭代 ...

  6. android 测试 大赛,轻量级android应用自动测试工具-2017全国大学生软件测试大赛.pdf...

    轻量级android应用自动测试工具-2017全国大学生软件测试大赛 DroidBot: A Lightweight Android App Testing Bot 轻量级Android应用自动测试工 ...

  7. 其他平台上测试工具的使用

    1.软件测试定义 软件测试应该要"尽早地和不断地进行测试"! 软件测试就是在产品上线前,对软件需求.设计方案和编码实现的核查. 软件测试的定义: 1.软件测试是为了发现错误而执行程 ...

  8. http 测试工具_20+最好的开源自动化测试工具

    本文开始逐步的降低公众号更文频率,提升文章质量,帮忙多点点文章末右下角的"好看"支持下,也可以将本文分享到朋友圈或你身边的朋友,谢谢 最佳开源自动化工具有哪些呢? 在本文中,整理了 ...

  9. java 测试工具 oracle_几种测试工具的简单介绍

    负载测试(Load Test):负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担. 二.WinRunner WinRunner 是一种企业级的功能测试工具,用于检验企业应用程序是否能 ...

最新文章

  1. vim编辑二进制文件
  2. C#中结构数据类型的使用
  3. csh for循环_shell中的for循环用法详解_linux shell
  4. CDH-5.7.1离线安装
  5. 阿里P8架构师谈:Restful、SOAP、RPC、SOA、微服务之间的区别
  6. flash一个按钮控制动画_flutter闪屏过渡动画,闪光占位动画
  7. 03.Web大前端时代之:HTML5+CSS3入门系列~H5功能元素
  8. select2根据传入的url参数动态添加option
  9. 今年赚钱最多的,居然是个牧羊人
  10. 移动app原型设计工具:Flinto for Mac
  11. PHP工具箱配置和下载
  12. An工具介绍之钢笔工具、铅笔工具与画笔工具
  13. 来来来,给你看个宝贝儿~
  14. 机器学习之十一(读书笔记)
  15. 转:HiRes高采样率的必要性
  16. 【动态规划】HDU 1081 XMU 1031 To the Max
  17. 想成为硬件工程师,难不?
  18. 【单片机】Proteus安装、MDK5安装、Proteus与Keil联合仿真教程
  19. 2021-06-04 Java对象在Hibernate下的4种状态和Session相关方法以及对象识别
  20. JavaScript 实现一个通讯录

热门文章

  1. 是谁在我的心里打了个结(二十六)乱七八糟
  2. cefsharp winform 支持视频播放
  3. 微信 android 闪退问题怎么解决方法,如何解决微信闪退问题 四种解决微信闪退无法登录的原因及方法分享...
  4. 一个简单的网页计算器-php网站建设代码段分享
  5. 【netcore】 docker 读写文件问题 报错Gdip
  6. 无法加载文件 C:\Users\Administrator\PycharmProjects\pythonProject\venv\Scripts\activate.ps1,因为在此系统上禁止运行脚本。
  7. 签名签名签名签名签名签名签名
  8. 创纪录15支球队参与 3大球星领衔NBA新春贺岁
  9. [实用超分网络大赏]《Real-Time Quantized Image Super-Resolution on Mobile NPUs, Mobile AI 2021 Challenge》
  10. 让java支持es6_简单看看es6解构赋值