过去一周左右我一直在玩 Angular,了解它的来龙去脉。我现在正试图找出重组我的应用程序以进行 E2E 测试的最佳方法,因为它将嵌入到预先存在的站点中,而不是独立存在。
问题在于如何处理index.html
angular-seed 项目,因为我的理解是Karma
需要通过某些东西指向自己scenarios.js
,以便在测试之前加载和引导应用程序。
当我们的服务器将当前的标记index.html
放在一起时,需要将其插入到我的页面更大的 HTML 结构中。不需要对顶级 Angular 模板进行进一步的预处理,但这似乎足以使测试过程相当复杂。
据我所知,这给我留下了三个启用 E2E 测试的选项:
1) 完整地复制index.html
代码以作为完整的模型进行测试
2)使用单一的角度路线并ngView
访问我的顶级视图模板(将测试目的减少index.html
到仅<ng-view></ng-view>
和<script>
标签)
3)折叠并仅使用Selenium进行高级测试
第一个选项引入了可维护性问题,而第二个选项是不可取的,因为它限制了<ng-view>
. 现在不是问题,但随着应用程序的增长可能会成为问题。第三,我听说 Selenium 给 Angular 应用程序带来了很多麻烦,最好通过使用专门构建的 Angular E2E 测试工具来避免这些问题。
那么这种情况通常是如何处理的呢?