0
我使用的是視頻並創建了一個需要視頻指令的指令。在Angularjs的另一個模塊中嘲諷指令
這一切工作正常,但不是我想單元測試我的指令。
我想模擬videogular指令,以便我可以通過API操作數據返回。
但是,我的指令總是拿起視頻的具體實現。
我試圖嘲笑下面的指令的視頻模塊實現沒有運氣。然後我像通常的單元測試一樣嘲笑自己的模塊。
beforeEach(angular.mock.module('com.2fdevs.videogular'));
beforeEach(angular.mock.module('com.2fdevs.videogular'),function($provide,$controllerProvider){
videogular = function(){
return {
template: '<video class="test"></video>',
transclude: true
}
};
$controllerProvider.register('vgController', function(_$scope_){
$scope = _$scope_;
$scope.totalTime = 100;
});
$provide.factory('videogularDirective', videogular);
});
我試着用同樣的方法將它注入到我自己的模塊中,結果相同。
我怎樣才能讓它使用我的模擬不具體的實現?
我現在有
beforeEach(angular.mock.module('com.2fdevs.videogular'));
beforeEach(angular.mock.module('com.2fdevs.videogular'),function($provide,$controllerProvider,$compileProvider){
videogular = function(){
return {
template: '<video class="test"></video>',
transclude: true
}
};
$provide.factory('videogularDirective', videogular);
$compileProvider.directive('videogularDirective', videogular);
});
beforeEach(angular.mock.module('irisApp'));
beforeEach(angular.mock.module('irisApp', function ($provide) {
$provide.constant('LoggingService', require('../../../server/mocks/LoggingService.mock'));
$provide.constant('run', {});
}));
beforeEach(angular.mock.inject(function (_$compile_, _$rootScope_) {
$rootScope = _$rootScope_;
$compile = _$compile_;
}));
但它仍然使用的具體指令。
我試過這種方法,現在看到我上面的代碼中,我仍然得到具體落實。我一定在做一些愚蠢的事情? – madlad
你能否確定真正的'videogularDirective'代碼是* NOT *加載的? –