赞
踩
>npm install karma-coverage cross-env babel-plugin-istanbul --save-dev
.babelrc
文件添加如下:
- "env": {
- "test": {
- "plugins": ["istanbul"]
- }
- }
- module.exports = function(config) {
- config.set({
- // ...
-
- reporters: ['spec', 'coverage'],
-
- coverageReporter: {
- dir: './coverage',
- reporters: [{ type: 'lcov', subdir: '.' }, { type: 'text-summary' }]
- }
- })
- }
- // package.json
- {
- "scripts": {
- "test": "cross-env BABEL_ENV=test karma start --single-run"
- }
- }
结尾附上我的各种版本:
- #webpack3.x #webpack4.x
- babel-polyfill@6.26.0 @babel/polyfill@7.4.4
- element-ui@2.8.2 element-ui@2.8.2
- vue@2.6.10 vue@2.6.10
- vue-resource@1.5.1 vue-resource@1.5.1
- vue-router@3.0.6 vue-router@3.0.6
- vuex@3.1.1 vuex@3.1.1
- @vue/test-utils@1.0.0-beta.29 @vue/test-utils@1.0.0-beta.29
- babel-cli@6.26.0 @babel/cli@7.4.4
- babel-core@6.25.0 @babel/core@7.4.4
- babel-eslint@7.1.1 babel-eslint@7.1.1
- babel-loader@7.1.1" babel-loader@8.0.6
- babel-plugin-istanbul@5.1.3 babel-plugin-istanbul@5.1.4
- babel-plugin-syntax-dynamic-import@6.18.0 @babel/plugin-syntax-dynamic-import@7.2.0
- babel-plugin-transform-object-rest-spread@6.26.0 @babel/plugin-proposal-object-rest-spread@7.4.4
- babel-preset-env@1.7.0 @babel/preset-env@7.4.4
- chai@4.2.0 chai@4.2.0
- clean-webpack-plugin@2.0.2 clean-webpack-plugin@2.0.2
- copy-webpack-plugin@4.2.3 copy-webpack-plugin@5.0.3
- core-js@3.1.0
- cross-env@5.2.0 cross-env@5.2.0
- css-loader@2.1.1 css-loader@2.1.1
- eslint@4.15.0 eslint@4.15.0
- eslint-config-standard"@10.2.1 eslint-config-standard"@10.2.1
- eslint-friendly-formatter@3.0.0 eslint-friendly-formatter@3.0.0
- eslint-loader@1.7.1 eslint-loader@1.7.1
- eslint-plugin-html@3.0.0 eslint-plugin-html@3.0.0
- eslint-plugin-import@2.7.0 eslint-plugin-import@2.7.0
- eslint-plugin-node@5.0.0 eslint-plugin-node@5.0.0
- eslint-plugin-promise@3.4.0 eslint-plugin-promise@3.4.0
- eslint-plugin-standard@3.0.1 eslint-plugin-standard@3.0.1
- eslint-plugin-vue@4.5.0 eslint-plugin-vue@4.5.0
- extract-text-webpack-plugin@3.0.2 extract-text-webpack-plugin@4.0.0-beta.0
- file-loader@3.0.1 file-loader@3.0.1
- html-webpack-plugin@2.30.1 html-webpack-plugin@3.2.0
- karma@4.1.0 karma@4.1.0
- karma-chai@0.1.0 karma-chai@0.1.0
- karma-chrome-launcher@2.2.0 karma-chrome-launcher@2.2.0
- karma-coverage@1.1.2 karma-coverage@1.1.2
- karma-mocha@1.3.0 karma-mocha@1.3.0
- karma-sourcemap-loader@0.3.7 karma-sourcemap-loader@0.3.7
- karma-spec-reporter@0.0.32 karma-spec-reporter@0.0.32
- karma-webpack@3.0.5 karma-webpack@3.0.5
- mocha@6.1.4 mocha@6.1.4
- mockjs@1.0.1-beta3 mockjs@1.0.1-beta3
- node-sass@4.12.0 node-sass@4.12.0
- sass-loader@7.1.0 sass-loader@7.1.0
- style-loader@0.23.1 style-loader@0.23.1
- uglifyjs-webpack-plugin@1.1.6 uglifyjs-webpack-plugin@2.1.3
- vue-loader@15.7.0 vue-loader@15.7.0
- vue-template-compiler@2.6.10 vue-template-compiler@2.6.10
- webpack@3.3.0 webpack@4.31.0
- webpack-cli@3.3.2
- webpack-dev-server@2.5.1 webpack-dev-server@3.4.1
- 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版本
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。