2016-06-03 3 views
0

По какой-то странной причине, которую я не могу понять, мой кармический бегун иногда не запускает все тестовые файлы.Karma runner не запускает все файлы

karma.conf.js:

module.exports = function(config) { 
config.set({ 

    basePath: '', 
    frameworks: ['jasmine'], 

    files: [ 
     '../lib/angular/angular.min.js', 
     '../lib/angular-mocks/angular-mocks.js', 
     '../lib/angular-notify/dist/angular-notify.min.js', 
     '../lib/JsCollection/dist/jscollection-0.1.5.min.js', 
     '../lib/lodash/dist/lodash.min.js', 
     'node_modules/jasmine-ajax/lib/mock-ajax.js', 
     'app/**/*.js', 
     'tests/**/*.js' 
    ], 

    plugins: [ 'karma-jasmine', 'karma-phantomjs-launcher'], 
    reporters: ['progress'], 
    port: 9876, 
    colors: true, 
    logLevel: config.LOG_INFO, 
    autoWatch: true, 
    browsers: ['PhantomJS'], 
    singleRun: false 
}); 
}; 

Так вот что происходит, я бегу моих тестов, и все начинается просто отлично:

[email protected]:~/projects/2bi/public/src$ karma start 
03 06 2016 11:40:44.861:WARN [karma]: No captured browser, open http://localhost:9876/ 
03 06 2016 11:40:44.921:INFO [karma]: Karma v0.13.22 server started at http://localhost:9876/ 
03 06 2016 11:40:44.967:INFO [launcher]: Starting browser PhantomJS 
03 06 2016 11:40:46.764:INFO [PhantomJS 2.1.1 (Linux 0.0.0)]: Connected on socket /#qmOPHCmxWaFWMmvrAAAA with id 14003688 
PhantomJS 2.1.1 (Linux 0.0.0): Executed 46 of 46 SUCCESS (0.708 secs/0.888 secs) 

Таким образом, мои 46 тестов выполняются нормально, все прекрасно и денди. Затем я начинаю кодировать, и карма начинает вести себя странно, иногда она не запускает все тесты, но иногда это происходит. Часто он застрял только в том, что работает, скажем, 16 тестов, поэтому я должен перезапустить его, чтобы снова запустить все тесты.

Здесь я изменить Тест формулы несколько раз:

03 06 2016 11:42:25.059:INFO [watcher]: Removed file "/home/oli/projects/2bi/public/src/tests/common/services/Formula.test.js". 
PhantomJS 2.1.1 (Linux 0.0.0): Executed 16 of 16 SUCCESS (0.18 secs/0.255 secs) 
03 06 2016 11:42:32.882:INFO [watcher]: Added file "/home/oli/projects/2bi/public/src/tests/common/services/Formula.test.js". 
03 06 2016 11:42:32.967:INFO [watcher]: Changed file "/home/oli/projects/2bi/public/src/tests/common/services/Formula.test.js". 
PhantomJS 2.1.1 (Linux 0.0.0): Executed 46 of 46 SUCCESS (0.465 secs/0.598 secs) 
03 06 2016 11:43:12.529:INFO [watcher]: Removed file "/home/oli/projects/2bi/public/src/tests/common/services/Formula.test.js". 
PhantomJS 2.1.1 (Linux 0.0.0): Executed 16 of 16 SUCCESS (0.136 secs/0.246 secs) 
03 06 2016 11:43:20.094:INFO [watcher]: Added file "/home/oli/projects/2bi/public/src/tests/common/services/Formula.test.js". 
03 06 2016 11:43:20.183:INFO [watcher]: Changed file "/home/oli/projects/2bi/public/src/tests/common/services/Formula.test.js". 
PhantomJS 2.1.1 (Linux 0.0.0): Executed 46 of 46 SUCCESS (0.506 secs/0.626 secs) 

Все работают на VirtualBox машине, но файловая система является локальной.

У кого-нибудь есть идеи, что происходит?

ответ

0

После некоторых исследований выяснилось, что наблюдатель кармы может иметь некоторые проблемы.

Что помогло мне в этом конкретном случае добавить usePolling: false в karma.conf.js.

Я оставляю это здесь, если у кого-то есть эта проблема.

1

Редакторы, сохраняющие временные файлы и заменяющие исходный файл, являются проблемой.

Я использую JetBrains RubyMine. Снимите флажок Используйте «безопасную запись» (сначала сохраните изменения во временном файле) исправил эту проблему.

+0

Интересно, я запускаю Jetbrains PhpStorm, я могу проверить это. Thanx! – Oli

Смежные вопросы