美文网首页
《编写可测试javascript》 第四章 单元测试

《编写可测试javascript》 第四章 单元测试

作者: 阿啦啦啦啦啦 | 来源:发表于2019-04-07 21:02 被阅读0次

单元测试框架

编写单元测试要点

  • 隔离(外部依赖,使用 模mock / 桩stub / 测试替身test double)
  • 范围(要小,一个测试只测一种情况)
  • 定义函数
    注释
    测试用例
  • 正向测试(测对的)
  • 负向测试(测异常)
  • 代码覆盖率
    低于50%,标红
    60%-80%,最佳范围
    80%以上,牛逼!!(不过收益会递减)

真实场景测试

  • 测试替身
    测试替身描述的是使用stub或mock模拟依赖对象进行测试
    在同一时间,替身可以用stub表示,也可以使用mock表示,以确保外部方法和API调用,并判断被调用了多少次,捕获所调用的参数,并返回相应
    在方法如何被调用方面,能记录或捕获相关信息的测试替身,被称为间谍(spy)
  • MOCK对象
    用于验证函数能够正确调用外部API,例如模拟下面的hub.fire()
function buySomething(event){
    hub.fire('addToShoppingCart',{item:event.target.id})
}
  • stub对象
    用于向被测试函数返回所封装的值,例如模拟这个函数的item
function addToShoppingCart(item){
  if(item.isSaleOver()){
      console.log('缺货')
  }else{
      console.log('添加购物车成功')
 }
}
  • spy对象
    封装真正的对象,覆盖一些方法让调用通过,可以类比于python的装饰器函数
  • 异步测试
    比如点击后的按钮变化,数据相应重新渲染这种

运行客户端javascript单元测试

  • phantomJS http://phantomjs.org
    可以通过编程方式访问的webkit内核浏览器,一个很合适的宿主环境
    支持渲染PDF文件,jpg文件
    支持生成快照
    page.onConsoleMessage(msg)可以监听到打印事件
  • selenium http://seleniumhq.org
    在真实的浏览器环境运行单元测试
    安装不同的浏览器驱动,可以支持移动端测试
    ghost driver项目为解决selenium 运行慢而生,使用phantomJS作为后端

运行服务器端javascript单元测试

小结

用框架就对了

相关文章

  • Golang测试

    如何编写好的单元测试 单元测试主要有两个方面: 编写测试方法 编写可测试代码 编写单元测试方法 单元测试特定案例的...

  • Jasmine 单元测试框架——学习

    JavaScript 单元测试框架:Jasmine Jasmine是一个用来编写Javascript测试的框架,它...

  • 如何编写可测试的代码

    编写可测试的代码可能比编写单元测试本身更加重要,可测试的代码简单来说就是指可以很容易的为其编写单元测试代码。 参数...

  • 《编写可测试javascript》 第四章 单元测试

    单元测试框架 YUI test(客户端测试) BDD测试框架Vows http://vowsjs.orgJasmi...

  • python标准库——unittest模块

    unittest模块(单元测试模块) 单元测试的好处: 在编写代码之前,通过编写单元测试来强迫你使用有用的方式细化...

  • 代码整洁之道 9、10、11

    单元测试 9.1 TDD三定律 在编写不能通过的单元测试前,不可编写生产代码 只可编写刚好无法通过的单元测试,不能...

  • JUnit单元测试打进jar包(eclipse)

    一、编写JUnit单元测试类 在src/main/test目录下编写Junit单元测试类。 二、编写运行JUnit...

  • JUnit

    JUnit是用于编写可重复测试的单元测试框架,可实现自动化测试。JUnit官方API文档:http://junit...

  • Python的接口的单元测试并自动将结果发至邮件

    流程介绍:1、搭建一个服务2、编写接口单元测试3、将单元测试生成报告并自动发送邮箱 下面开始编写单元测试:已tes...

  • ESLint和Mocha

    javascript单元测试框架mochajs详解

网友评论

      本文标题:《编写可测试javascript》 第四章 单元测试

      本文链接:https://www.haomeiwen.com/subject/ffqeiqtx.html