美好的一天!
这是我第一次编写单元测试,我甚至不知道从哪里开始。我已经看了一些例子,这是我的代码。
这是位于我的指令
中的验证功能scope.validateInput = function () {
if (scope.description < 100) {
scope.validate_description_message = true;
}
}
这是我的单元测试
describe('scope.validateInput', function() {
beforeEach(inject(function ($rootScope, $compile) {
scope = $rootScope;
element = angular.element(html);
$compile(element)(scope);
scope.$digest();
}));
it('should return true when scope.description is less than 100 characters.', inject(function() {
$rootScope.description = 1;
$rootScope.validateInput();
expect($rootScope.validate_description_message).toEqual(true);
}));
});
提前谢谢!
答案 0 :(得分:0)
您应首先在describe中声明$ scope。并从$ rootscope创建一个新的范围。
describe('scope.validateInput', function() {
var scope;
beforeEach(inject(function ($rootScope, $compile) {
scope = $rootScope.$new();
element = angular.element(html);
$compile(element)(scope);
scope.$digest();
}));
it('should return true when scope.description is less than 100 characters.', inject(function() {
scope.description = 1;
scope.validateInput();
expect(scope.validate_description_message).toEqual(true);
}));
});