我试着为指令编写测试用例,但我无法写。所以,伙计们可以分享正确的测试用例以及给定的directive.js的解释。
myapp.directive('number', function() {
return {
restrict: 'A',
link: function(scope, element, attr, form) {
element.bind('input', function(e) {
$(this).val($(this).val().replace(/[^0-9 ]/gi, ''));
});
}
}
});
该指令只能返回数字。
答案 0 :(得分:0)
我找到了答案。我在这里发了答案,
describe('number', function() {
var scope, element, $compile;
beforeEach(module('myapp'));
beforeEach(inject(function(_$compile_, $rootScope) {
scope = $rootScope.$new();
$compile =_$compile_;
scope.testInput = "";
element = angular.element('<input number ng-model="testInput">');
}));
var triggerKeyDown = function () {
var e = $.Event("input");
$(element).trigger(e);
};
it('should accept number input only', function() {
$compile(element)(scope);
scope.testInput = '1';
scope.$digest();
triggerKeyDown();
expect(scope.testInput).toBe('1');
});
});
此代码适用于我。