![](/img/trans.png)
[英]Jasmine, Angular, and Resharper: Trouble injecting a controller in a unit test
[英]Injecting a service into angular controller unit test
我正在嘗試將服務注入到我的控制器單元測試中。 我並不是想對服務進行模擬,而只是將其包括在內,以便我可以訪問其所有方法。 這可能嗎?
'use strict';
describe('Offers : controller', function(){
beforeEach(module('client'));
var $scope,
controller,
$rootScope,
genericService;
beforeEach(inject(function($injector, $controller) {
$rootScope = $injector.get('$rootScope');
controller = $controller('OffersCtrl', { $scope: $scope });
genericService = $injector.get('genericService');
$scope = $rootScope.$new();
}));
it('should have a genericService', function () {
expect(genericService.method).toBeDefined();
});
});
只需以與角度服務相同的方式注入自己的服務即可:
var genericService;
beforeEach(inject(function(_genericService_) {
genericService = _genericService_;
});
請注意,您可以在參數名稱周圍使用下划線 ,以避免命名沖突。 解決注入服務時,Angular將從參數名稱中刪除這些參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.