Karma Jasmine全局对象未在beforeEach上重新初始化,导致测试失败

时间:2016-05-04 16:52:05

标签: javascript angularjs karma-runner karma-jasmine

我的一个角度模块的配置如下:

angular.module('feature').config(function () {
    CKEDITOR.plugins.add('expressioneditor', {});
});

CKEDITOR是一个全局对象,通过<script>标记添加到页面中。据我了解,Karma重新初始化每个beforeEach块的角度应用程序,而全局CKEDITOR对象保持不变。此重新初始化过程会多次调用config,此代码CKEDITOR.plugins.add('expressioneditor', {});也会多次执行。问题是如果尝试多次添加具有相同名称的插件,CKEDITOR.plugins.add会引发错误,因此我的测试失败。运行时环境中不存在此问题,因为config函数在角度初始化阶段仅运行一次。

我的问题是在每次测试之前重新初始化全球环境的常用方法是什么?对于我的特殊情况,我可以在添加之前添加对插件存在的检查,但这个问题是关于一般方法。

0 个答案:

没有答案