我已经阅读了 Protractor 的工作原理,我已经在其中编写了几个 E2E 测试,但我仍然对将它与$httpBackend
服务一起使用感到不舒服,我认为我可能遗漏了图片的重要部分。
为了模拟 HTTP 调用,我需要使用Angular模块中提供的$httpBackend
服务。ngMockE2E
要将该模块包含在我正在测试的应用程序中,我需要在引导我的主模块时对其进行配置,作为它的依赖项,如下所示:
angular.module('myApp', ['ngMockE2E', 'bunch-of-other-dependencies'])
这实际上意味着我需要对我的 E2E 测试与生产初始化进行单独的初始化。这也意味着我需要单独的index.html
.
维护这两个“几乎”与其根源相同的附加文件似乎很麻烦。此外,单独的索引和模块定义意味着测试将在与生产略有不同的应用程序上进行测试,这对我来说似乎违背了它的目的。
我是否正确理解了这里的谜题或者我错过了什么?有没有更好的解决方案来使用 Angular 运行后端 E2E 测试?或者至少有一些解决方法可以最大限度地减少维护烦恼的影响,如果它们真的不可避免的话?