前端测试

单元测试

  • 测试类型有多种,单元测试、集成测试等,本文主要是讲单元测试
  • 在单元测试中,常用的方法论有两个:TDD & BDD
    • TDD
      Test-Driven Development,测试驱动开发,测试先于编写代码的思想,TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。
    • BDD
      Behavior Driven Development,行为驱动开发,BDD描述的行为就像一个个的故事(Story),系统业务专家、开发者、测试人员一起合作,分析软件的需求,然后将这些需求写成一个个的故事。开发者负责填充这些故事的内容,测试者负责检验这些故事的结果。
      摘自:TDD和BDD

Why?

  • 可以保证代码质量
  • 减少人力测试过程
  • 用来表达设计或作为文档记录

What?

  • 比如一个组件,测试的内容:组件的渲染结果、模拟用户事件组件的函数是否会被正确调用等。
  • 比如一个工具类,测试的内容:函数的调用是否返回预料结果等。

How?

工欲善其事,必先利其器,在如何测试之前,先了解一些测试工具,有mocha、karma、assert、should.js等,以下介绍各自的功能及使用。

mocha

mocha是一个js测试框架,优势是支持多种类型的断言libs,支持异步和同步测试,支持多种方式的结果导出。
它还是个命令行工具,安装完成后可直接在命令行运行mocha命令。
开发只需在mocha提供的全局函数(比如describe,it)中编写测试并运行,就可生成测试报告。

  • describe(‘description’,()=>{})
    用来包裹一组相关的测试
  • it(‘测试名’,()=>{})
    用来包裹一个单独的测试

assert

什么是断言:编写代码时会做出一些假设,断言就用于在代码中捕捉这些假设,如果最终结果与假设不成立,会抛出一个错误。
assert是基于node的一个模块,负责断言。
API:http://nodejs.cn/api/assert.html

should.js

should.js也是一个断言库
github:https://github.com/shouldjs/should.js
API:https://shouldjs.github.io/

karma

karma是一个测试工具,生成一个Web服务器,该服务器针对每个连接的浏览器的测试代码执行源代码。针对每个浏览器的每个测试的结果都经过检查并通过命令行显示给开发人员,以便他们能够看到哪些浏览器和测试通过或失败。
官网:https://karma-runner.github.io/3.0/index.html

Travis CI

Travis CI 是一个提供持续集成服务的平台,它绑定 Github 上面的项目,只要有新的代码,就会自动抓取。然后,提供一个运行环境,执行测试,完成构建,还能部署到服务器。
官网:https://www.travis-ci.org/getting_started
主要添加.travis.yml文件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值