构建基于Karma的ES6测试工作流

Mar 14, 2016

2195

我们清楚,代码质量应该由代码测试来保证。在ES6规范发布后,越来越多的项目开始尝试使用ES6甚至是ES7,那么,本文就以ES6的代码来谈谈如何构建高效的测试工作流。

本文主要会使用到如下工具:

  • karma 自动化测试工具,命令行执行浏览器测试
  • babel 编译ES6/7代码
  • mocha 测试框架
  • chai 断言库

接下来,我们通过一个简单的实例来展示如何构建ES6的测试工作流。

安装

我们通过npm的方式来安装依赖包,以下为依赖包列表:

"devDependencies": {
  "babel-plugin-transform-es2015-modules-umd": "^6.6.5",
  "babel-preset-es2015": "^6.6.0",
  "chai": "^3.5.0",
  "karma": "^0.13.22",
  "karma-babel-preprocessor": "^6.0.1",
  "karma-chai": "^0.1.0",
  "karma-chrome-launcher": "^0.2.2",
  "karma-coverage": "^1.0.0",
  "karma-mocha": "^0.2.2",
  "karma-mocha-reporter": "^2.0.0",
  "mocha": "^2.4.5"
}

执行 npm install 将安装所依赖的包。

这里简单说明一下这份依赖表中的一些包,karma-mocha-reporter用于使karma日志输出保持mocha原来的风格;karma-coverage是用来检验测试的代码覆盖率。

babel 6默认情况下并没有转换ES6代码的功能,需要安装相应的转换器插件,所以安装了babel-preset-es2015和babel-plugin-transform-es2015-modules-umd,通过.babelrc文件来设置,具体的配置在下一节给出。

从webpack的使用浅谈npm包的全局安装

Oct 3, 2015

4498

博客挺久没更新了,感觉还是偏懒了一些。从迅雷离职到进入新公司也有一段时间了,目前在新公司主要参与工作流程优化,其中包括自动化工具的开发、组件平台搭建等等,进一步接触node.js。本文主要简述在工作上一些npm包全局安装带来的问题以及解决的方法。

这里以webpack为例来说,《React结合Webpack使用》这篇文章中演示的例子Todos,webpack、webpack-dev-server都是采用全局安装的方式,这时候其他用户从Github上获取代码之后,他需要执行以下两步操作才能把依赖以及工具下载下来。这些我都得在README.md中一一说明,README.md会显得比较长,步骤也比较繁琐。

npm install
npm install -g webpack webpack-dev-server

其二,Todos是我几个月前写的,webpack用的是当时最新的版本,假如现在版本更新了,废弃了一些参数,用户全局安装最新的版本,可能就会执行失败。这种情况在一些老的代码经常出现。

针对以上两个已知的问题,可以利用npm包的一些特性来处理的。

Wen's Blog

文章归档 » 文章标签 » 博主:吴文伟,Web开发爱好者,专注于前端开发,该博客用于记录和分享平时遇到的一些问题以及知识。

订阅

联系方式

链接