Sinon stub AngularJS-service, der in Tests
Statt der Erstellung eines mock-service manuell wie:
var mockService = { GetData: function() { deferred = $q.defer(); return deferred.promise; }
Und dann das hinzufügen es zu meinem $controller-Einspritzung wie:
$controller('mycontroller', { $scope: scope, myService: mockService });
Wie kann ich die stub meinem echten service mit Sinon und Spritzen, die gekürzte service, wo "mockService" wird injiziert in meine controller über? Ich möchte die stub meinem echten service bei meinem service-Methoden umbenannt dann meine controller-tests fehl, zusammen mit meiner service-tests.
Vielen Dank im Voraus und ich hoffe, das macht Sinn.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du nicht stub, die ganze Dienstleistung, nicht die Methoden auf, die service, den Sie möchten, zu behaupten, auf. Sie lassen den kantigen tun, die Injektion in der Regel und dann die stub-Methoden auf den service, den Sie von den $Injektor, D. H. Sie müssen nicht alles tun, funky wie die services sind singletons im Rahmen eines einzigen Tests.
Ich immer ein sinon-sandbox und mock Dinge auf, die - dann in den nach jedem test, den Sie wiederherstellen können alle verspottet Methoden