我目前遇到以下问题:
在业力单元测试中,我有两个描述块。在这两个中,我定义了一个元素,编译它并将它添加到正文中,如下所示:
element = angular.element('<div>some content</div>');
element = $compile(element)(scope);
angular.element("body").append(element);
问题是,第二个描述块与第一个描述块冲突,因为浏览器窗口始终保持打开状态。
具体,在第二个描述块中,我检查HTML元素toBeNull(),它应该为null,但实际上它已经从第一个描述块定义(因为它是相同的brwoser实例)。
所以现在我的问题是:有没有办法可以重新打开或重新初始化第二个描述块的浏览器窗口,所以我得到一个完整的新文档?
答案 0 :(得分:0)
设置describe
块,以便在测试结束时拆除DOM中设置的块。使用describe
块的运行者通常会在块中放置after
或afterAll
钩子,以便在块中的所有测试运行后执行拆卸。
类似的东西:
afterAll(function () {
angular.element(element).remove();
});
然后下一个区块可以从一个干净的石板开始。