当前位置:   article > 正文

webpack手动搭建vue项目(七)—— 单元测试覆盖率_babel7使用babel-plugin-istanbul

babel7使用babel-plugin-istanbul

1.安装依赖

>npm install karma-coverage cross-env babel-plugin-istanbul --save-dev

2.更新你的 .babelrc 文件

添加如下:

  1. "env": {
  2. "test": {
  3. "plugins": ["istanbul"]
  4. }
  5. }

3 .更新karma.conf.js

  1. module.exports = function(config) {
  2. config.set({
  3. // ...
  4. reporters: ['spec', 'coverage'],
  5. coverageReporter: {
  6. dir: './coverage',
  7. reporters: [{ type: 'lcov', subdir: '.' }, { type: 'text-summary' }]
  8. }
  9. })
  10. }

 4.更新脚本

  1. // package.json
  2. {
  3. "scripts": {
  4. "test": "cross-env BABEL_ENV=test karma start --single-run"
  5. }
  6. }

结尾附上我的各种版本:

  1. #webpack3.x #webpack4.x
  2. babel-polyfill@6.26.0 @babel/polyfill@7.4.4
  3. element-ui@2.8.2 element-ui@2.8.2
  4. vue@2.6.10 vue@2.6.10
  5. vue-resource@1.5.1 vue-resource@1.5.1
  6. vue-router@3.0.6 vue-router@3.0.6
  7. vuex@3.1.1 vuex@3.1.1
  8. @vue/test-utils@1.0.0-beta.29 @vue/test-utils@1.0.0-beta.29
  9. babel-cli@6.26.0 @babel/cli@7.4.4
  10. babel-core@6.25.0 @babel/core@7.4.4
  11. babel-eslint@7.1.1 babel-eslint@7.1.1
  12. babel-loader@7.1.1" babel-loader@8.0.6
  13. babel-plugin-istanbul@5.1.3 babel-plugin-istanbul@5.1.4
  14. babel-plugin-syntax-dynamic-import@6.18.0 @babel/plugin-syntax-dynamic-import@7.2.0
  15. babel-plugin-transform-object-rest-spread@6.26.0 @babel/plugin-proposal-object-rest-spread@7.4.4
  16. babel-preset-env@1.7.0 @babel/preset-env@7.4.4
  17. chai@4.2.0 chai@4.2.0
  18. clean-webpack-plugin@2.0.2 clean-webpack-plugin@2.0.2
  19. copy-webpack-plugin@4.2.3 copy-webpack-plugin@5.0.3
  20. core-js@3.1.0
  21. cross-env@5.2.0 cross-env@5.2.0
  22. css-loader@2.1.1 css-loader@2.1.1
  23. eslint@4.15.0 eslint@4.15.0
  24. eslint-config-standard"@10.2.1 eslint-config-standard"@10.2.1
  25. eslint-friendly-formatter@3.0.0 eslint-friendly-formatter@3.0.0
  26. eslint-loader@1.7.1 eslint-loader@1.7.1
  27. eslint-plugin-html@3.0.0 eslint-plugin-html@3.0.0
  28. eslint-plugin-import@2.7.0 eslint-plugin-import@2.7.0
  29. eslint-plugin-node@5.0.0 eslint-plugin-node@5.0.0
  30. eslint-plugin-promise@3.4.0 eslint-plugin-promise@3.4.0
  31. eslint-plugin-standard@3.0.1 eslint-plugin-standard@3.0.1
  32. eslint-plugin-vue@4.5.0 eslint-plugin-vue@4.5.0
  33. extract-text-webpack-plugin@3.0.2 extract-text-webpack-plugin@4.0.0-beta.0
  34. file-loader@3.0.1 file-loader@3.0.1
  35. html-webpack-plugin@2.30.1 html-webpack-plugin@3.2.0
  36. karma@4.1.0 karma@4.1.0
  37. karma-chai@0.1.0 karma-chai@0.1.0
  38. karma-chrome-launcher@2.2.0 karma-chrome-launcher@2.2.0
  39. karma-coverage@1.1.2 karma-coverage@1.1.2
  40. karma-mocha@1.3.0 karma-mocha@1.3.0
  41. karma-sourcemap-loader@0.3.7 karma-sourcemap-loader@0.3.7
  42. karma-spec-reporter@0.0.32 karma-spec-reporter@0.0.32
  43. karma-webpack@3.0.5 karma-webpack@3.0.5
  44. mocha@6.1.4 mocha@6.1.4
  45. mockjs@1.0.1-beta3 mockjs@1.0.1-beta3
  46. node-sass@4.12.0 node-sass@4.12.0
  47. sass-loader@7.1.0 sass-loader@7.1.0
  48. style-loader@0.23.1 style-loader@0.23.1
  49. uglifyjs-webpack-plugin@1.1.6 uglifyjs-webpack-plugin@2.1.3
  50. vue-loader@15.7.0 vue-loader@15.7.0
  51. vue-template-compiler@2.6.10 vue-template-compiler@2.6.10
  52. webpack@3.3.0 webpack@4.31.0
  53. webpack-cli@3.3.2
  54. webpack-dev-server@2.5.1 webpack-dev-server@3.4.1
  55. webpack-merge@4.1.1 webpack-merge@4.2.1

注意:如果安装过程中出现 istanbul This module is no longer maintained, try this instead: npm i nyc Visit https://istanbul.js.org/integrations for other alternatives.这个是因为istanbul 这个包被弃用了,需要在安装完成后替换掉

在项目目录\node_modules\babel-plugin-istanbul\node_modules 下面

istanbul-lib-instrument和 istanbul-lib-coverage这个两个包分别是3.2.0和2.0.4版本

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/753192
推荐阅读
相关标签
  

闽ICP备14008679号