zu gehen Ich habe einige Probleme, eine Fabrik zu verspotten, die zu einem meiner Module gehört. Die Fabrik Ich mag würde verspotten hat zwei Abhängigkeiten:Mock ein AngularJS-Modul, um zu einem anderen
Factory-Klasse:
angular.module('serviceapp')
.factory('claims.service', ['applicationSettings', 'localStorageService', function (applicationSettings, localStorageService) {
//Factory code here
}]);
Prüfklasse:
//Instantiate some values
var mockAppSettings = {};
var mockStorageService = {};
var $factory; //Will hold my factory
//Targeting my module for mocking
beforeEach(angular.mock.module('serviceapp'));
//Providing some values for the dependencies of my module
beforeEach(module('serviceapp', function ($provide) {
$provide.value('applicationSettings', mockAppSettings);
$provide.value('localStorageService', mockStorageService);
}));
//Problems start here
beforeEach(inject(function ($injector) {
$factory = $injector.get('claims.service');
}));
ich eine Fehlermeldung
Failed to instantiate module serviceapp due to: Failed to instantiate module accountModule due to: Module 'accountModule' is not available!
bekommen
Bei der Untersuchung sehe ich, dass accountModule
als eine Abhängigkeit für das serviceApp
Modul aufgeführt ist.
App.module Klasse:
angular.module('serviceapp', [accountModule])
aber ich einige Probleme mit diesem Modul spöttisch zu serviceApp passieren. Ich habe versucht, das accountModule auf die gleiche Weise zu verspotten, wie ich die serviceapp am Anfang verspottete, aber das bringt immer noch dieselbe Fehlermeldung mit sich. Wie kann ich mich verspotten und ein Modul an ein anderes weitergeben?
Ahhh ich sehe! Vielen Dank für den (wirklich tollen) Einblick in diese Sache! Ich werde es versuchen – Novastorm
Beachten Sie auch, dass $ provide.value redundant ist. Das Gleiche kann mit dem Objektargument https://docs.angularjs.org/api/ngMock/function/angular.mock.module#usage getan werden. – estus