Больше не могу запускать тест ng с опцией --reporters - PullRequest
0 голосов
/ 04 декабря 2018

Я уже некоторое время работаю над приложением Angular 5 и обычно начинаю свои тесты, используя следующую команду:

ng test --reporters dots

Это работает, как и ожидалось.Я недавно запустил новый проект Angular 6 и подумал, что могу использовать ту же команду для запуска своих тестов кармы, но всякий раз, когда я пытаюсь указать --reporters, я получаю следующую ошибку:

Data path ".reporters" should be array.

Эта ошибка не 'не имеет большого смысла для меня, и где именно он хочет этот массив.У меня есть массив reporters: в karma.conf.js, но он такой же, как у моего проекта Angular 5.

Для справки, ng test работает просто отлично, но япредпочитаю вывод точек для локального тестирования.Я также должен указать, что любой репортер, которого я пытаюсь запустить из командной строки, также показывает это точное поведение.Я не могу запустить репортеров репортажей, которые бы мне тоже понравились.

Вот мой karma.conf.js .Соответствующий репортерский раздел:

reporters: ['spec', 'kjhtml'],

Я также попытался добавить к этому 'dots', но безрезультатно.

Мой package.json содержит следующие две строки в сценариях:

"test": "ng test --code-coverage",
"watch": "ng test --reporters dots",

npm run test работает нормально, а npm run watch - нет.Выдает ошибку, указанную выше.

Соответствующие devDependencies:

"@angular-devkit/build-angular": "~0.10.7",
"@angular/cli": "6.2.7",
"karma": "^1.7.1",
"karma-chrome-launcher": "^2.2.0",
"karma-cli": "^1.0.1",
"karma-coverage-istanbul-reporter": "^2.0.4",
"karma-jasmine": "^1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
"karma-mocha-reporter": "^2.2.1",
"karma-remap-istanbul": "^0.2.1",
"karma-spec-reporter": "0.0.32",

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете попробовать добавить точки через рычать репортер.

npm install karma-growl-reporter --save-dev

Установить конфигурацию в karma.conf.js

config.set({
    plugins: [
         require('karma-growl-reporter'),
         ...
    ],
    ...
    reporters: ['spec', 'kjhtml', 'growl'],
 });

ОБНОВЛЕНИЕ

Если вы устанавливаете karma из Angular / CLI (v 6.2.7), вам необходимо обновить его до v7.0.2 ("@angular/cli": "~7.0.2" in devDependencies).

Я думаю, потому что не предоставлено reporters, введите v6.2.7 (я не нашел reporters в schema.json, однако есть v7.0.2)

ОБНОВЛЕНИЕ
Начиная с этой проблемы мы можем наблюдать, что v6.xx был флагом удаления --reporter.Это означает, что мы не можем сделать отчет с консоли (ng test --reporter не работает).

Существует вариант, когда мы создаем и добавляем репортер другой файл karma2.conf.js по умолчанию, например:

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

    plugins: [
     ....
         require('karma-growl-reporter'),
     ....
    ]
    ...
    porters: ['dots'],

и вызов из консоли ng test --karma-config PATH_TO_ANOTHER_KONF_FILE.js

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...