单元测试不存在dom元素

时间:2015-07-07 03:36:34

标签: angularjs unit-testing jasmine

在我的指令中,我在特定条件下使用element.remove()从DOM中删除元素。

it('should remove the <img> tag', function() {

   //expect(element.find('img')) ??
});

我如何对此进行单元测试?

1 个答案:

答案 0 :(得分:1)

您可以查看找到的集合的长度。

expect(element.find('img').length).toEqual(0);

或者,您可以忽略实际的DOM操作,这种操作不是那么容易测试,而是依赖于外部功能(在本例中为jqLit​​e)和间谍element.remove(),例如

spyOn(element, 'remove');

// do stuff

expect(element.remove).toHaveBeenCalled();