mkh*_*tib 5 javascript unit-testing angularjs angularjs-directive
如何对指令中定义的函数进行单元测试,如下所示myFunc?
angular.module('myApp')
.directive('myDir', [function () {
var myFunc = function (arg) {
// code in here.
};
return {
restrict: 'A',
scope: { },
link: function (scope, element) {
}
};
}]);
Run Code Online (Sandbox Code Playgroud)
或者,如何定义我不希望在指令之外公开的可测试指令特定函数?
最常见的方法是不测试私有方法,而是测试公开其行为的公共接口.这意味着您的单元测试将成为您的公共接口的合同.
您已声明不希望在指令之外公开,但当然另一个选择是将此逻辑提取到某个服务中myDirService并在那里执行您的逻辑.在这种情况下,您将能够独立测试.