Установите опцию отладки в Gulp Карма тест

В соответствии с этот пост (и общий интернет), если я хочу запустить тест Karma без таких команд покрытия кода...

__cov_9C0014nbzu2SxN3FICah6Q.f['35']++;
__cov_9C0014nbzu2SxN3FICah6Q.s['138']++;

... Мне просто нужно установить опцию --debug в терминале следующим образом:

$ karma start karma.conf.js --browsers=Chrome --single-run=false --debug

Однако при выполнении тестов Karma с помощью задачи Gulp документация, похоже, отсутствует. Ниже я использую простой объект karma.start. Я пробовал установить свойство debug либо true, либо strign '--debug', но ни один из них не имеет эффекта (хотя тесты выполняются/бегун не падает).

karma.start({
    configFile: __dirname + '/karma.conf.js',
    exclude: excludeFiles,
    singleRun: !!singleRun,
    debug: '--debug'
}, karmaCompleted);

Любые идеи о том, как установить параметр отладки при запуске тестов Karma из задачи Gulp?

Ответ 1

Настройка debug: true в объекте options, который я передаю в karma.start, работает так же, как и с помощью --debug в командной строке. Другими словами, вы сказали, что сделали в своем Gulpfile, чтобы получить параметр debug для Кармы. Тем не менее,

Мне просто нужно установить опцию --debug в терминале так:

Нет, страница, на которую вы ссылаетесь, показывает, что вы также должны настроить свою конфигурацию, чтобы настроить список препроцессоров, чтобы при использовании --debug список пуст. У вас возникла проблема в том, что вы не смогли выполнить эту настройку правильно.

Вот как можно выполнить настройку. Это запрашивает значение config.debug из конфигурации, которую Карма уже проанализировала из командной строки:

module.exports = function configure(config) {
  config.set({
    // ...
    preprocessors: {
      "index.js": config.debug ? [] : ["coverage"],
    },
    // ...
  });
};

Сканирование process.argv для --debug, как показано на странице, на которую вы взяли эту идею, не будет работать, когда вы вызываете Karma из Gulp, потому что опция debug передается непосредственно через конфигурацию. Проверка config.debug работает как в командной строке, так и при запуске Karma через программный API.