我的一个角度模块的配置如下:
angular.module('feature').config(function () {
CKEDITOR.plugins.add('expressioneditor', {});
});
CKEDITOR
是一个全局对象,通过<script>
标记添加到页面中。据我了解,Karma
重新初始化每个beforeEach
块的角度应用程序,而全局CKEDITOR
对象保持不变。此重新初始化过程会多次调用config
,此代码CKEDITOR.plugins.add('expressioneditor', {});
也会多次执行。问题是如果尝试多次添加具有相同名称的插件,CKEDITOR.plugins.add
会引发错误,因此我的测试失败。运行时环境中不存在此问题,因为config
函数在角度初始化阶段仅运行一次。
我的问题是在每次测试之前重新初始化全球环境的常用方法是什么?对于我的特殊情况,我可以在添加之前添加对插件存在的检查,但这个问题是关于一般方法。