mendy
mendy

Reputation: 191

Set jasmine default timeout interval inside karma config file

My karma file looks like the following, I have around 900 test cases & some of them fail due to default timeout being set to 5000ms. I tried adding the following but it did not make a difference (same error, karma thinks the default value is still 5000ms):

jasmineNodeOpts: {
  defaultTimeoutInterval: 50000
}

How can I fix this issue?

Karma file:

module.exports = function (config) {
   config.set({
   basePath: '',
   frameworks: ['parallel', 'jasmine', '@angular-devkit/build-angular'],
   plugins: [
     require('karma-parallel'),
     require('karma-jasmine'),
     require('karma-chrome-launcher'),
     require('karma-jasmine-html-reporter'),
     require('karma-coverage-istanbul-reporter'),
     require('@angular-devkit/build-angular/plugins/karma')
   ],
   client: {
     clearContext: false // leave Jasmine Spec Runner output visible in browser
   },
   coverageIstanbulReporter: {
     dir: require('path').join(__dirname, 'coverage'), reports: ['html', 'lcovonly'],
     fixWebpackSourcePaths: true
   },
angularCli: {
     environment: 'dev'
   },
   reporters: ['progress', 'kjhtml'],
   port: 9876,
   colors: true,
   logLevel: config.LOG_INFO,
   autoWatch: true,
   browsers: ['Chrome'],
   singleRun: true,
   browserNoActivityTimeout: 60000,
   parallelOptions: {
     executors: Math.min(Math.ceil(require('os').cpus().length / 2), 6)
   }
 });
};

Upvotes: 2

Views: 1868

Answers (1)

Klaimmore
Klaimmore

Reputation: 690

Since karma-jasmine version 2.0 you can now pass timeoutInverval directly in the config:

module.exports = function(config) {
  config.set({
    client: {
      jasmine: {
        timeoutInterval: 50000
      }
    }
  })
}

Upvotes: 3

Related Questions