0
我正在使用karma进行单元测试我的角度指令。我从我的指令中删除了部分内容,直到我将其全部删除,但我明显错过了某些内容。 这是测试:编译内部测试不会创建所需的结果
element = angular.element('<div ng-repeat="option in options">ASD</div>');
element = $compile(element)(scope);
expect(element.text()).toMatch('ASD');
为什么编译时不运行ng-repeat?
编辑: 这是beforeEach:现在你应该可以看到你的元素编译每个 '它' 部分
scope.$apply(function() {
. . . set up your scope here
element = $compile('<div ng-repeat="option in options">ASD</div>')(scope);
}
:
var element;
var scope;
beforeEach(inject(function ($rootScope) {
scope = $rootScope.$new();
scope.options = [{}];
}));
您是否在范围上定义了一个名为options的数组,因此它可以重复使用它? –
是的。我正在注入$ rootScope - > scope = $ rootScope。$ new() - > scope.options = [{}]; – alonn24
在你的beforeEach结尾添加'scope。$ digest();' – glepretre