资讯专栏INFORMATION COLUMN

前端单元测试(未完。。)

ACb0y / 1556人阅读

摘要:基础知识作用为提供浏览器测试环境,为真正测试框架,为断言库测试用例基础块称为测试套件,表示一组相关的测试。它也是一个函数,第一个参数是测试用例的名称,第二个参数是一个实际执行的函数。

基础知识

karma作用为提供浏览器测试环境,mocha为真正测试框架,chai为断言库

测试用例基础

describe块称为"测试套件"(test suite),表示一组相关的测试。它是一个函数,第一个参数是测试套件的名称("加法函数的测试"),第二个参数是一个实际执行的函数。
describe钩子:

`describe("hooks", function() {
   
   before(function() {
     // 在本区块的所有测试用例之前执行
   });
   
   after(function() {
     // 在本区块的所有测试用例之后执行
   });
   
   beforeEach(function() {
     // 在本区块的每个测试用例之前执行
   });
   
   afterEach(function() {
     // 在本区块的每个测试用例之后执行
   });
   
   // test cases
});`

it块称为"测试用例"(test case),表示一个多带带的测试,是测试的最小单位。它也是一个函数,第一个参数是测试用例的名称,第二个参数是一个实际执行的函数。

describe("加法函数的测试", function() {
  it("1 加 1 应该等于 2", function() {
    expect(add(1, 1)).to.be.equal(2);
  });
});

mocha

断言库:should.js - BDD style shown throughout these docs
expect.js - expect() style assertions
chai - expect(), assert() and should-style assertions
better-assert - C-style self-documenting assert()
unexpected - "the extensible BDD assertion toolkit"

karma环境搭建(karma+mocha+chai+webpack)

依赖模块安装:

npm install karma-cli -g
cnpm install karma karma-chai karma-mocha karma-webpack webpack babel-loader babel-core mocha chai karma-chrome-launcher --save-dev

生成karma.conf.js文件

 karma init karma.conf.js

根据项目需求修改karma.conf.js配置

启用karma

karma start karma.conf.js

注意:配置文件:files中设置included:false,需要手动加载测试文件,不会自动加载即不会自动测试
使用coverage时,webpack配置:在webpack中需加:

{
        test: /.js$/,
        loader: "babel-loader",
        query:{
          plugins:["istanbul"]
        }
      }

mocha

karma

chai文档

karma-coverage文档

karma笔记

mocha笔记

chai笔记

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/101970.html

相关文章

  • 自动化测试(未完,后续学习之后会补充更具体的)

    摘要:断言断言是什么模块提供了一组简单的断言测试,可用于测试不变量。环境是他们不必设置大量配置的环境,而是开发人员可以编写代码并从测试中获得即时反馈的地方。每当测试时,结果将出现在您的拉取请求中,您的历史记录将在其控制面板中提供。 Node assert (断言) 断言是什么 assert 模块提供了一组简单的断言测试,可用于测试不变量。 存在严格模式(strict)和遗留模式(legacy...

    姘存按 评论0 收藏0
  • 一个简单 java 项目的优化过程(未完...)

    摘要:第一次写项目,用的,也没啥经验,前期开发比较紧所以以实现功能为主,下面记录自己的一些性能优化笔记。如果是在不使用数据库连接池的情况下,必须在使用完数据库之后关闭连接。所以使用数据库连接池势在必行,不然就是费代码了。 第一次写 java 项目,用的 netty5.0,也没啥经验,前期开发比较紧所以以实现功能为主,下面记录自己的一些性能优化笔记。以某接口为例,该接口是 feed 流,里面包...

    Magicer 评论0 收藏0
  • 前端学习整理资料(未完待续)

    摘要:前端月刊周刊文章百度前端圈奇虎团队规范妙趣课堂开发社区百度规范腾讯淘宝携程前端美团技术博客博客一峰老赵较旧旧深入理解系列安全相关页凹凸实验室前端开发规范携程文章浏览器是如何工作的英文前端代码规范及最佳实践 前端月刊:https://www.kancloud.cn/jsfro... 周刊文章http://ourjs.com/http://www.feweekly.com/issuesht...

    nodejh 评论0 收藏0
  • 前端学习整理资料(未完待续)

    摘要:前端月刊周刊文章百度前端圈奇虎团队规范妙趣课堂开发社区百度规范腾讯淘宝携程前端美团技术博客博客一峰老赵较旧旧深入理解系列安全相关页凹凸实验室前端开发规范携程文章浏览器是如何工作的英文前端代码规范及最佳实践 前端月刊:https://www.kancloud.cn/jsfro... 周刊文章http://ourjs.com/http://www.feweekly.com/issuesht...

    csRyan 评论0 收藏0
  • 前端学习整理资料(未完待续)

    摘要:前端月刊周刊文章百度前端圈奇虎团队规范妙趣课堂开发社区百度规范腾讯淘宝携程前端美团技术博客博客一峰老赵较旧旧深入理解系列安全相关页凹凸实验室前端开发规范携程文章浏览器是如何工作的英文前端代码规范及最佳实践 前端月刊:https://www.kancloud.cn/jsfro... 周刊文章http://ourjs.com/http://www.feweekly.com/issuesht...

    lastSeries 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<