Этот вопрос и ответ очень актуальны на сегодняшний день (в скором будущем 2018,> angular2, @ angular/cli, typescript, ...).
Вот небольшое обновление, основываясь на том, что я нашел, как полезно в сети:
что у вас есть angular cli
сгенерированный проект, который не был закаленное с. Скажем, вы хотите использовать PhantomJS
для запуска ваших угловых тестов2 (ничего не шокирующее).
Начала установки PhantomJS
запуска для Кармы в проекте
npm i --save-dev karma-phantomjs-launcher
Далее вам необходимо обновить файл karma.conf.js
следующим образом:
Первого в плагинах свойства:
plugins: [
require('karma-jasmine'),
require('karma-phantomjs-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular/cli/plugins/karma')
],
Тогда Свойства браузера
browsers: [ 'PhantomJS' ],
Запуск теста на данный момент, вы, вероятно, наткнетесь на следующее сообщение об ошибке:
PhantomJS 2.1.1 (Windows 7 0.0.0) ERROR
TypeError: pre,template,textarea,script,style is not iterable!
at http://localhost:9876/_karma_webpack_/polyfills.bundle.js:792
В принципе, это означает, что ваши PhantomJS
потребности различных polyfills. Раскомментируем следующие строки в ваш src\polyfills.ts
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/weak-map';
import 'core-js/es6/set';
Последнее, но не в последнюю очередь, вот ссылки, которые помогли мне решить эту проблему:
How to run jasmine tests without browser ?
New angular-cli app not working on iphone 4s
Почему бы не использовать PhantomJS вместо Chrome? – Mik378
Хорошая точка. Думаю, я это получу. Но возможно ли управлять кармой без каких-либо браузеров? – randwa1k
Нет, Карме нужен браузер. – Mik378