В проекте, который я работаю, используется Pusher
, а также Karma
для модульных испытаний. Тесты блок в настоящее время не удается, ссылаясь на следующее сообщение об ошибке:Разбивка модулей с использованием AngularJS, Pusher + Karma
ReferenceError: Can't find variable: Pusher
at runBlock (/vagrant/front/src/app/index.run.js:9)
at invoke (/vagrant/front/bower_components/angular/angular.js:4771)
at /vagrant/front/bower_components/angular/angular.js:4578
at forEach (/vagrant/front/bower_components/angular/angular.js:325)
at createInjector (/vagrant/front/bower_components/angular/angular.js:4578)
at WorkFn (/vagrant/front/bower_components/angular-mocks/angular-mocks.js:3120)
Так что я посмотрел в index.run.js
и нашел вопрос:
/** @ngInject */
function runBlock($log,$rootScope) {
$rootScope.wf = {
api: '/api/v1',
dateFormat: 'dd.MM.yyyy',
dataRefreshListeners:{}
};
$rootScope.wf.pusher = new Pusher('3e2d8ab440fad96e67ff', {
cluster: 'eu',
encrypted: true
});
}
Я думал, что это будет простой случай определения Pusher
, либо в параметры функции или заглушить его для тестов Unit.
Я нашел библиотеку pusher-test-stub
и добавил ее. Это исправлены все мои предыдущие ошибки, но оставил мне этот:
PhantomJS 1.9.8 (Linux 0.0.0) ERROR
TypeError: 'undefined' is not an object (evaluating 'PusherDefinition.Util')
at /vagrant/front/bower_components/pusher-test-stub/dist/pusher-test-stub.js:155
[08:51:49] 'test' errored after 3.39 s
[08:51:49] Error: Failed 1 tests.
я начать возиться с файлом pusher-test-stub.js
, но полагал, что этот вопрос не будет с этой библиотекой.
Я также просмотрел файл karma.conf.js
, обратив внимание на пути к каталогам. Изменение этих значений не изменило сообщение об ошибке с ошибкой об ошибке в обоих случаях (с pusher-test-stub.js
и без).
спасибо за ответ, обновленный phantomjs в package.json и бегали НУЮ установку - никакой разницы. Я также добавил, что модульные тесты работали ранее. – dyatesupnorth
Версия пакета npm phantomjs не совпадает с версией самого двоичного файла phantomjs. Какая версия сейчас? 'phantomjs --version' – Vaviloff
Возможно, версия PhantomJS не несет ответственности за ошибку, но вам, как правило, лучше с более новой версией этого программного обеспечения. – Vaviloff