测试工具Testing

测试工具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);
			
			  // null
			  result = tools.getRandom(null);
			  t.is(result.length, 0);
			
			  // undefined
			  result = 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代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值