Un projet que je travaille utilise Pusher
, ainsi que Karma
pour les tests unitaires. Les tests unitaires sont en échec, citant l'erreur suivante:Tests unitaires de rupture utilisant 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)
Je regardais dans index.run.js
et trouvé la question:
/** @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
});
}
Je pensais que ce serait un cas simple de définir Pusher
, que ce soit dans les paramètres de la fonction, ou stub pour les tests unitaires.
J'ai trouvé la bibliothèque pusher-test-stub
et l'ai ajoutée. Que ce soit réglé toutes mes erreurs précédentes, mais m'a laissé celui-ci:
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.
J'ai commencé à déconner avec le fichier pusher-test-stub.js
, mais compris la question n'a pas été va être avec cette bibliothèque.
J'ai également jeté un oeil dans mon fichier karma.conf.js
, en prenant note des chemins de répertoire. La modification de ces valeurs n'a pas modifié le message d'erreur de test unité en échec dans les deux cas (avec pusher-test-stub.js
et sans).
merci pour la réponse, PhantomJS mises à jour dans le package.json et RAN NPM installer - pas de différence. J'ajoute aussi que les tests unitaires fonctionnaient précédemment. – dyatesupnorth
La version du paquet npm phantomjs n'est pas la même que la version du binaire phantomjs lui-même. Quelle version est-il maintenant? 'phantomjs --version' – Vaviloff
Peut-être la version PhantomJS n'est pas responsable de l'erreur, mais vous êtes généralement mieux avec une version plus récente de ce logiciel. – Vaviloff