这是一个相当复杂的问题,所以我创建了一个Plunker来帮助说明。我在一个js文件中有2个角度模块。一个(称为base)处理典型的应用程序设置。另一个(称为basePlusCors)中有一些额外的配置内容,但没有新的指令或服务,并且包含基本模块作为依赖项。可以把它想象成“basePlusCors扩展基础”。我有两个问题:
首先:在app.js中,如果我没有注释掉第461 - 473行,我会在basePlusCors测试中得到循环依赖性错误。那是为什么?
第二:这可能与第一个相关,但是上面的行注释掉了,测试仍然设法从基本模块执行httpInterceptor。我以为我嘲笑了基础模块,它为什么运行那个拦截器?有没有办法在执行测试块之前清除所有角度模块和东西,这样我就可以开始用干净的平板测试basePlusCors模块了?