karma.cover.config.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. const base = require('./karma.base.config.js')
  2. process.env.CHROME_BIN = require('puppeteer').executablePath()
  3. module.exports = function (config) {
  4. const options = Object.assign(base, {
  5. browsers: ['ChromeHeadlessCI'],
  6. customLaunchers: {
  7. 'ChromeHeadlessCI': {
  8. base: 'ChromeHeadless',
  9. flags: ['--no-sandbox']
  10. }
  11. },
  12. reporters: ['mocha', 'coverage'],
  13. coverageReporter: {
  14. reporters: [
  15. { type: 'lcov', dir: '../../coverage', subdir: '.' },
  16. { type: 'text-summary', dir: '../../coverage', subdir: '.' }
  17. ]
  18. },
  19. singleRun: true,
  20. plugins: base.plugins.concat([
  21. 'karma-coverage',
  22. 'karma-chrome-launcher'
  23. ])
  24. })
  25. // add babel-plugin-istanbul for code instrumentation
  26. options.webpack.module.rules[0].options = {
  27. plugins: [['istanbul', {
  28. exclude: [
  29. 'test/',
  30. 'src/compiler/parser/html-parser.js',
  31. 'src/core/instance/proxy.js',
  32. 'src/sfc/deindent.js',
  33. 'src/platforms/weex/'
  34. ]
  35. }]]
  36. }
  37. config.set(options)
  38. }