资讯专栏INFORMATION COLUMN

ES6+mocha+istanbul,针对ES6语法的带覆盖率检查的mocha测试

wuyangnju / 2250人阅读

摘要:安装注意版本为为支持语法安装依赖包注意为了使支持语法,在加入注意为了使支持语法,在加入小猫快跳最终运行或都可以参考

安装 mocha, chai,mochawesome,istanbul
npm install mocha chai mochawesome istanbul@1.0.0-alpha.2 --save-dev

注意1:

istanbul 版本为 "^1.0.0-alpha.2"
为 istanbul 支持ES6语法安装依赖包:
npm i babel-cli babel-register babel-plugin-istanbul babel-preset-env cross-env mocha chai nyc --save-dev

注意2:

为了使 istanbul 支持ES6语法,在package.json加入:
"nyc": {
    "require": [
      "babel-register"
    ],
    "reporter": [
      "lcov",
      "text"
    ],
    "sourceMap": false,
    "instrument": false
  }

注意3:

为了使 istanbul 支持ES6语法,在.babelrc加入:

.babelrc

{
  "presets": [
    "env"
  ],
  "env": {
    "test": {
      "plugins": [
        "istanbul"
      ]
    }
  }
}

package.json

{
  "name": "100",
  "version": "1.0.0",
  "description": "小猫快跳",
  "main": "game.js",
  "directories": {
    "test": "test"
  },
  "scripts": {
    "test1": "./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha test/*.js -- --require babel-register",
    "test":"cross-env NODE_ENV=test nyc mocha"
  },
  "author": "wangshuxian6",
  "license": "MIT",
  "devDependencies": {
    "babel-cli": "^6.26.0",
    "babel-plugin-istanbul": "^4.1.5",
    "babel-preset-env": "^1.6.1",
    "babel-register": "^6.26.0",
    "chai": "^4.1.2",
    "cross-env": "^5.1.3",
    "grunt": "^1.0.1",
    "grunt-contrib-watch": "^1.0.0",
    "grunt-eslint": "^20.1.0",
    "istanbul": "^1.0.0-alpha.2",
    "mocha": "^5.0.1",
    "mochawesome": "^3.0.2",
    "nyc": "^11.4.1"
  },
  "nyc": {
    "require": [
      "babel-register"
    ],
    "reporter": [
      "lcov",
      "text"
    ],
    "sourceMap": false,
    "instrument": false
  }
}

mocha.opts

--require babel-core/register
--recursive
--reporter mochawesome
--bail
最终:
运行nom run test 或 nom run test2 都可以

参考:http://edu.51cto.com/topic/10...

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

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

相关文章

  • 探知js测试(3)

    摘要:模块测试模块语法我这里提及一点。基本工程目录一个良好的工程目录,能够帮助你测试成本降到最低。这一块算是独立于单元测试的。 前面两篇已经把,js测试的模式,框架,断言库基本介绍了一遍。这里,我们要上升到整体测试架构上来.首先,单元测试的对象是模块,这里我们就要将自己测试目标调整到对模块测试上来。所以,这里我们需要使用CommonJS或者es6的模块的写法了。另外需要了解,mocha框架测...

    陈江龙 评论0 收藏0
  • 探知js测试(3)

    摘要:模块测试模块语法我这里提及一点。基本工程目录一个良好的工程目录,能够帮助你测试成本降到最低。这一块算是独立于单元测试的。 前面两篇已经把,js测试的模式,框架,断言库基本介绍了一遍。这里,我们要上升到整体测试架构上来.首先,单元测试的对象是模块,这里我们就要将自己测试目标调整到对模块测试上来。所以,这里我们需要使用CommonJS或者es6的模块的写法了。另外需要了解,mocha框架测...

    pakolagij 评论0 收藏0
  • 前端单元测试 实现教程 mocha + mochawesome + istanbul + sinon

    摘要:为什么要写单元测试减少提高代码质量,保证你的代码是可测试的放心重构当你每个方法都写了单元测试的时候,你每一个改动都会影响相应的单元测试,这样你不用费尽心思的考虑哪里会有影响,特别是复杂项目或非核心功能不易被测试到,从而导致的产生。 为什么要写单元测试 减少bug 提高代码质量,保证你的代码是可测试的 放心重构 当你每个方法都写了单元测试的时候,你每一个改动都会影响相应的单元测试,这...

    AaronYuan 评论0 收藏0
  • 前端单元测试

    摘要:为保证代码的质量,单元测试必不可少。本文记录自己在学习单元测试过程中的一些总结。以一个项目为例,代码结构如下前端测试框架主要是与,这里我们选择,断言库有以及自带的。 为保证代码的质量,单元测试必不可少。本文记录自己在学习单元测试过程中的一些总结。 TDD与BDD的区别 TDD属于测试驱动开发,BDD属于行为驱动开发。个人理解其实就是TDD先写测试模块,再写主功能代码,然后能让测试模块通...

    liuyix 评论0 收藏0
  • 现代JS代码测试流程

    摘要:有质量的代码是要有代码测试来保证的,本文就大致谈谈现在我们是如何实现使用甚至标准的代码的高效测试的。每次代码修改页面都会自动刷新,更强大的是它只会执行你修改了代码的测试用例简直神器。 有质量的代码是要有代码测试来保证的,本文就大致谈谈现在我们是如何实现使用es6甚至es7(async/await)标准的JS代码的高效测试的。 我们会用到以下工具 webpack 前端打包工具 moch...

    cyqian 评论0 收藏0

发表评论

0条评论

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