Tüm hizmetin yerine, üzerinde durmak istediğiniz hizmetin yöntemlerini kullanmazsınız. böylece enjeksiyonun normal olarak açılmasını sağlayın ve sonra $ enjektörden aldığınız servisin yöntemlerini dışarı aktarın, yani tek bir test kapsamında hizmetler tekil sayılırken korkak bir şey yapmak zorunda değilsiniz.
Hep bir sinon sandbox ve sahte şeyler oluşturmak - o zaman size tüm alay yöntemleri geri yükleyebilirsiniz her testten sonra
var sandbox, myService, somethingUnderTest;
beforeEach(module('myModule'));
describe('something', function() {
beforeEach(inject(function ($injector) {
sandbox = sinon.sandbox.create();
myService = $injector.get('myService');
somethingUnderTest = $injector.get('somethingUnderTest');
}));
afterEach(function() {
sandbox.restore();
});
it('should be defined', function() {
expect(somethingUnderTest).to.exist;
});
describe('someMethod', function() {
it('should call the start method on myService', function() {
sandbox.stub(myService, 'start');
somethingUnderTest.start();
expect(myService.start.calledOnce).to.equal(true);
});
});
});