业力测试案例:焦点事件

时间:2013-11-15 05:53:46

标签: angularjs focus karma-runner

我正在使用业力测试案例测试angularjs中的焦点事件。但要素没有得到集中。在我做 element.focus()之后,检查元素是否正确 我很专注,我很虚伪。此时 document.activeElement 就是整个身体。

请提出解决方案。感谢

1 个答案:

答案 0 :(得分:7)

(此答案受Testing for focus an AngularJS directive启发)

您需要将元素添加到文档正文中,以便 document.activeElement 使用它。

在致电element.focus()之前,请执行以下操作:

element.appendTo(document.body);

另外,如果您在单元测试中执行此操作,我建议您在测试后删除元素,否则每个测试都会向主体添加另一个元素(这可能会影响您的其他测试结果)。

afterEach(function () {
    element.remove();
}