【发布时间】:2013-12-11 12:05:34
【问题描述】:
这是我的问题,一步一步来 :)) 我认为这样读起来更好,不像一堵文字墙可怜地试图解释我的特定领域的问题。
1) 我们有一个Angular.js 应用程序,带有PHP 后端支持MongoDB 存储。
2) Protractor 用于端到端测试。
3) 需要测试更改数据库的页面,即注册场景 - 我正在测试中完成所有注册步骤,因此数据库获得了新的用户记录。
4) 可以预见,测试在运行后会失败,因为数据库有测试用户的记录并且不需要注册 - 用户被重定向到主页。
我想为node.js 获取一个mongodb 包,并在测试中与数据库交互。
但这似乎并不正确:数据库连接的配置文件位于后端的 php 文件中,而我正在尝试为我们应用程序的纯前端部分编写测试。
有什么想法吗?
【问题讨论】:
-
你想在这里测试什么?隔离测试的目标很重要。如果您的目标是 AngularJS 项目的 E2E 测试,您可以使用 docs.angularjs.org/api/ngMockE2E.$httpBackend 模拟 HTTP 交互。
-
不幸的是,量角器测试中没有可用的
inject函数,因此您不能像在 Karma 单元测试中那样注入$httpBackend模拟。 :( -
如果你在谈论嘲笑任何东西,你显然不理解“端到端”的概念。这些是验收测试,应该正是最终用户的体验。我不知道有任何个应用程序的最终用户将模拟库注入到我的代码中。
标签: angularjs testing webdriver protractor angularjs-e2e