В большинстве случаев я хочу, чтобы набор тестов просто запускался и выходил, как и большинство систем, поэтому мой karma.conf.js
имеет следующие настройки:
autoWatch: false
singleRun: true
Мой package.json
имеет:
"scripts": {
"test": "NODE_ENV=test ./node_modules/.bin/karma start"
}
Я использую Chrome без головы, так что это позволяет мне просто запустить yarn test
, и он отлично работает.
Но иногда, когда я сильно взламываю JS, я хочу более плотную петлю обратной связи.Так как Karma использует настоящий веб-браузер, до запуска моих тестов уходит около 8 секунд, и это раздражает.
Я знаю, что у Karma есть модель клиент / сервер, чтобы решить эту проблему, но я не совсем понимаю, как это сделать.запустить его.Если я переопределю свой singleRun
с помощью yarn test --singleRun=false
, он, похоже, загрузит сервер и будет сидеть и ждать запуска тестов.Но я не могу понять, как на самом деле заставить его начать тест.Я подумал karma run
, но если я попытаюсь сделать это, он просто сидит и ничего не делает.
Самое лучшее, что я могу сделать, - это также включить автоматическую проверку с yarn test --singleRun=false --autoWatch=true
.С этим в любое время я сохраняю тестовый файл, он запускает набор тестовых тестов.Обычно это нормально, но мне нравится, когда мой текстовый редактор автоматически сохраняет данные, поэтому иногда он сохраняется с ошибками синтаксиса, когда я в середине работы.В идеале, я бы предпочел просто пробежать сам.