karma-cov.conf.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. var path = require('path');
  2. var webpack = require('./webpack.config');
  3. webpack.module.rules.push(
  4. // instrument only testing sources with Istanbul
  5. {
  6. test: /\.js$/,
  7. use: { loader: 'istanbul-instrumenter-loader' },
  8. include: process.env.KARMA_COVER_FOLDER
  9. }
  10. );
  11. module.exports = function (config) {
  12. config.set({
  13. basePath: '.',
  14. frameworks: ['mocha'],
  15. reporters: ['mocha', 'coverage-istanbul'],
  16. client: {
  17. mocha: {
  18. timeout : 10000, // 10 seconds - upped from 2 seconds
  19. retries: 3 // Allow for slow server on CI.
  20. }
  21. },
  22. files: [
  23. {pattern: path.resolve('./build/injector.js'), watched: false},
  24. {pattern: process.env.KARMA_FILE_PATTERN, watched: false}
  25. ],
  26. preprocessors: {
  27. 'build/injector.js': ['webpack'],
  28. 'src/*.spec.ts': ['webpack', 'sourcemap']
  29. },
  30. mime: {
  31. 'text/x-typescript': ['ts','tsx']
  32. },
  33. webpack: webpack,
  34. webpackMiddleware: {
  35. noInfo: true,
  36. stats: 'errors-only'
  37. },
  38. coverageIstanbulReporter: {
  39. reports: ['html', 'text-summary'],
  40. dir: path.join('.', 'coverage'),
  41. fixWebpackSourcePaths: true
  42. },
  43. browserNoActivityTimeout: 31000, // 31 seconds - upped from 10 seconds
  44. browserDisconnectTimeout: 31000, // 31 seconds - upped from 2 seconds
  45. browserDisconnectTolerance: 2,
  46. port: 9876,
  47. colors: true,
  48. singleRun: true,
  49. logLevel: config.LOG_INFO
  50. });
  51. };