2017-01-24 16 views
0

Испытание неудачу с:Почему Карма не получает сообщение от браузера после завершения выполнения тестов?

Error: timeout of 2000ms exceeded. Ensure the done() callback is being called in this test. 

Поэтому я добавил this.timeout(0) к нему, то я получил:

Disconnected, because no message in 10000 ms. 

Продолжал добавить browserNoActivityTimeout: 0 в мой файл конфигурации.

Когда я пытаюсь запустить тесты, браузер открывается, а консоль показывает пройденный тест.

УСПЕХ

Пропущенные 0 тестов

Почему браузер не закрывается? Чего он ждет?

browserNoActivityTimeout

Как долго Карма будет ждать сообщения от браузера до отключения от него (в мс).

https://github.com/karma-runner/karma/blob/master/docs/config/01-configuration-file.md#browsernoactivitytimeout

Команда:

karma start --single-run 

Config:

webpackConfig.module.loaders.push({ 
    test: /\.js$/, 
    include: /src/, 
    exclude: /node_modules/, 
    loader: 'isparta' 
}); 

var karmaConfig = { 
    frameworks: ['mocha'], 
    browsers: ['Chrome'], 
    //browserNoActivityTimeout: 0, 
    logLevel: 'INFO', 
    //reporters: ['progress', 'coverage-allsources', 'coverage'], 
    reporters: ['progress', 'coverage'], 
    autoWatch: true, 
    files: [ 
    'test/karma.js' 
    ], 
    urlRoot: '/karma-runner/', 
    preprocessors: { 
    'test/karma.js': ['webpack', 'sourcemap'] 
    }, 
    webpackMiddleware: { 
    stats: 'minimal', 
    watchOptions: { 
     aggregateTimeout: 300 
    } 
    }, 
    webpack: webpackConfig, 
    coverageReporter: { 
    dir: 'report/coverage', 
    include: 'src/**/*.js', 
    // Any .js files that are not imported/required need to be added to the 
    // exclude:, otherwise you will get a JS error for 
    // 'Unexpected token in esprima.js'. 
    // This appears to be a bug with the karma-coverage-allsources repo. 
    exclude: 'src/init.js', 
    reporters: [ 
     {'type' : 'cobertura'}, 
     {'type' : 'html'}, 
     {'type': 'text-summary'} 
    ] 
    } 
}; 

ответ

0

Через пять минут после ввода вопроса, я нашел ответ.

Точка входа «test/karma.js» имеет код, который открывает вкладку отладки и, вероятно, прерывает каким-то образом Карму.

window.open('/karma-runner/debug.html', '_blank');