我有一个使用外部控制器和模板的自定义指令。用户将一些初始数据传递给指令,该指令在控制器内部使用。
当我对myController进行单元测试时, this.inputData 最初是未定义的。如何在单元测试中初始化或模拟 this.inputData ,以便我可以正确测试在第一个参数中使用定义值调用 myCustomFilter ?
CustomDirective:
'use strict';
angular.module('myModule')
.directive('myDirectve', function () {
return {
restrict: 'EA',
scope: {
inputData: '='
},
templateUrl: 'templates/my-directive-template.html',
bindToController: true,
controllerAs: 'main',
controller: 'myMainCtrl',
link: function () { }
};
});
DirectiveController:
'use strict';
angular.module('myModule')
.controller('myMainCtrl', function (myCustomFilter) {
this.filteredData = myCustomFilter(this.inputData, true);
});
我的指示性模板:
<span>{{ main.filteredData.length }}</span>
使用MyDirective:
<my-directive inputData="myInputData"></my-directive>