Карма, не собирающая изменений, должна дважды выполнять тесты

Я выполняю тесты Жасмин в Карме (последняя, ​​0.12.14) от IntelliJ IDEA (последняя, ​​13.1.2) на OS X.

IntelliJ просто использует плагин Karma, который указывает на мою установку кармы: /usr/local/lib/node_modules/karma

Проблема заключается в том, что наблюдатель Karma не выбирает новые изменения из JS файлов. Когда я снова запустил тесты, все отлично. Это не огромная проблема (они работают довольно быстро), но это аннулирование, чтобы всегда запускать тесты дважды после того, как вы сделаете изменения.

Кто-нибудь сталкивался с подобной проблемой?

Ответы

Ответ 1

Добавьте в свой файл karma.conf.js следующее свойство:

usePolling: true

Я положил его после флага autoWatch.

Ссылка: AutoWatch не работает # 895

Ответ 2

Наконец-то это заработало. Это известная проблема при использовании Karma в IntelliJ с инструментами построения, такими как Webpack/ Gulp/etc... и что после обработки файлы находятся за пределами файлов, которые непосредственно обслуживает Karma.

Обходной путь заключается в том, чтобы вручную изменить конфигурацию IntelliJ в этом файле: ...\plugins\js-karma\js_reporter\karma-intellij\lib\intellijRunner.js

В строке #75 или рядом с ней в runWithConfig() измените свойство refreshtrue.

Подробнее см. этот комментарий

Если эта проблема возникла как в IntelliJ, так и в Webstorm и исправлена ​​одинаково.

Ответ 3

В случае использования IntelliJ IDEA, попробуйте использовать Настройки > Общие > Снимите флажок "безопасная запись"

Ответ 4

Я не уверен, что вопрос по-прежнему актуальный, но я нашел решение (или просто обходное решение).

Я немного изменил этот файл C:\Users\MyUser\.IntelliJIdea14\config\plugins\js-karma\js_reporter\karma-intellij\lib\intellij.conf.js здесь:

config.singleRun = false;
var originalAutoWatch = config.autoWatch;
//config.autoWatch = false; <-- this line
config.autoWatchBatchDelay = 0;

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

Ответ 5

Проверьте свойство autoWatch в файле конфигурации кармы, установленном в TRUE.

Ответ 6

Я не уверен в более старых версиях intelij, но я использую 2016.3 (последняя версия на момент написания этого), и все это работает нормально, если у karma config есть autoWatch: true. Имея точно такую ​​же проблему, все, что мне нужно сделать, это включить Toggle auto-test в intelij, и все начали нормально работать без каких-либо изменений.

Ответ 7

Также, если вы используете Sublime Text 3, установите "atomic_save": false в своих пользовательских настройках, так как это также вызывает проблемы с часами. см. здесь