Karma - 重新初始化浏览器以进行描述块

时间:2016-08-10 09:21:32

标签: unit-testing karma-jasmine

我目前遇到以下问题:

在业力单元测试中,我有两个描述块。在这两个中,我定义了一个元素,编译它并将它添加到正文中,如下所示:

element = angular.element('<div>some content</div>');

element = $compile(element)(scope);

angular.element("body").append(element);

问题是,第二个描述块与第一个描述块冲突,因为浏览器窗口始终保持打开状态。

具体,在第二个描述块中,我检查HTML元素toBeNull(),它应该为null,但实际上它已经从第一个描述块定义(因为它是相同的brwoser实例)。

所以现在我的问题是:有没有办法可以重新打开或重新初始化第二个描述块的浏览器窗口,所以我得到一个完整的新文档?

1 个答案:

答案 0 :(得分:0)

设置describe块,以便在测试结束时拆除DOM中设置的块。使用describe块的运行者通常会在块中放置afterafterAll钩子,以便在块中的所有测试运行后执行拆卸。

类似的东西:

afterAll(function () {
  angular.element(element).remove();
});

然后下一个区块可以从一个干净的石板开始。