Как я могу исправить тесты в тестере Ember с ошибками, такими как "не удалось загрузить", "не удалось", "не удалось найти модуль" или "умер"?

Мне удалось получить несколько приложений Ember на основе EAK/grunt, обновленных до 1.11 с помощью HTMLBars, а затем перенести их в Ember CLI/Brocolli. Модульные тесты были настроены на карма-тестер, поэтому я сейчас смотрю, как запустить их в проектах CLI, но я не писал тесты и не имею никакого опыта в модульном тестировании модулей javascript.

Просматривая iNet, я вижу, что другие также использовали карму из-за выходных данных покрытия и пытаются заставить его работать с Ember CLI, но Ember Core не поддерживает его, хотя они говорят, что любой должен иметь возможность получить его. это настроено с пользовательским дополнением. Я также пытаюсь использовать бегун 'testem', чтобы увидеть, что с этим связано.

На сайте Ember есть страница "Автоматизация тестов с бегунами" для v1.10 с разделами "testem" и "karma", но она не отображается для v1.11, поэтому я не могу сказать с этого сайта, что или не имеет отношения. Но похоже, что я должен быть в состоянии найти решение для бегуна тестов кармы, поэтому я добавил старые devDependencies в пакет проекта.json:

"karma": "^0.12.31",
"karma-chai": "~0.1.0",
"karma-chrome-launcher": "~0.1.2",
"karma-coverage": "~0.2.1",
"karma-firefox-launcher": "~0.1.3",
"karma-junit-reporter": "~0.2.1",
"karma-mocha": "~0.1.3",
"karma-phantomjs-launcher": "~0.1.2",
"karma-sinon-chai": "~0.1.5"

Я также удалил старый 'karma.conf.js' (вместе с несколькими другими конфами кармы) в проекте и обновил пути внутри (от 'vendor' до 'bower_components'). Я нашел режим узла 'ember-cli-karma' и установил его, но у него, похоже, просто есть package.json. Он не имеет документов и выглядит как просто заглушенный стартовый проект без реализации. Я также установил модули узлов 'karma', 'karma-cli' и 'testem'.

Документы testem говорят, что вы должны добавить src и тестовые файлы в 'testem.json', но без примеров я не знаю, что это значит; список каждого src и тестового файла? С какого пути; относительный, абсолютный? Прямая косая черта, обратная косая черта? предшествует / или./ или../? Я просто пропустил их, потому что я думаю, что система просто находит src и тесты по соглашению.

Когда я запускаю "Карма инициация", я получаю:

readline.js:529
this.line = this.line.slice(this.cursor);
                   ^
  TypeError: Cannot read property 'slice' of undefined

Когда я запускаю "testem", я получаю:

TEST'EM 'SCRIPTS!
Open the URL below in a browser to connect.
http://localhost:7357/aN;0faN;NaNf

... тогда проект "../tests/index.html" загружается в браузер, но не может "найти" какие-либо файлы ресурсов (css, js), поэтому ничего не выполняется и не отображается правильно. Я просто вижу шаблонные выражения ({{content-for 'head'}} и т. Д.).

Когда я запускаю 'Ember Test', я получаю:

Building...BuildingBuilding.Building..Building...Built project successfully.

1..0
# tests 0
# pass  0
# fail  0

# ok
No tests were run, please check whether any errors occurred in the page (ember test --server) and ensure that you have a test launcher (e.g. PhantomJS) enabled.

Когда я запускаю 'ember test --server', я получаю:

Тестовый index.html загружается в браузер с отчетом о тестировании. Когда я убираю флажок "скрыть пройденные тесты", в отчете указывается "29 пройденных, 28 неудачных". В нем 11 разделов, в которых у конкретного теста могут быть 3 проблемы, такие как "не удалось загрузить", "не удалось", "не удалось найти модуль", "попытка зарегистрировать неизвестную фабрику" или "умер".

При этом я, очевидно, управляю тестом, а не кармой, поэтому с таким же успехом могу работать над тем, чтобы тестем работал, и выяснить карму позже. Если бы было больше примеров и документов по устранению неполадок миграции, я мог бы систематически решить некоторые из этих проблем.

2 ответа

Решение

Недавно я столкнулся с проблемой "Тесты не выполнялись..." после обновления узла. Я исправил это с помощью:

npm install -g phantomjs

Это также обеспечивает некоторые дополнительные параметры:

https://github.com/ember-cli/ember-cli/issues/3969

У меня был Cannot read property 'slice' of undefined ошибка в MS Windows, запущенной через MSys2. Я решил это с помощью karma init от обычного cmd незамедлительный.

Другие вопросы по тегам