Hud*_*voy 18 jasmine angularjs angularjs-directive karma-runner
beforeEach(function () {
html = '<div class="dropdown">'+
'<div class="trigger" >trigger</div>'+
'<div class="dropdown">body</div>'+
'<div>';
inject(function ($compile, $rootScope) {
scope = $rootScope.$new();
element = angular.element(html);
compiled = $compile(element);
compiled(scope);
scope.$digest();
// HERE NOT WORKING
var trigger == element.find('div.trigger');
var dropdown == element.find('.dropdown');
// trigger and dropdown have both length 0
});
// Test doesn't pass
it('should find the right element'), function () {
expect(trigger.hasClass('trigger')).toBe(true);
}
});
Run Code Online (Sandbox Code Playgroud)
我正在尝试对指令进行单元测试,但我无法逐个查找.
我希望能够找到类似以下内容的元素:
var trigger == element.find('div.trigger') // doesn't find anything.
Run Code Online (Sandbox Code Playgroud)
但现在我只能这样做:
var triggers = element.find('div') // return an array of length 2.
var trigger = triggers[0];
Run Code Online (Sandbox Code Playgroud)
我怎样才能按类找到元素?
Die*_*erg 14
AngularJS find函数不支持按类名查找.相反,您可以使用vanilla javascript:
var result = element[0].querySelectorAll('.findme');
Run Code Online (Sandbox Code Playgroud)
现在,您可以通过将结果变量findme包装在角度元素中来检查结果变量是否具有类.
angular.element(result).hasClass('findme')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24651 次 |
| 最近记录: |