首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不依赖于请求数据模拟的AngularJS单元测试

问不依赖于请求数据模拟的AngularJS单元测试
EN

Stack Overflow用户
提问于 2012-11-21 18:25:24
回答 1查看 2.1K关注 0票数 4

我终于完成了AngularJS测试环境的设置,我正在尝试测试我的应用程序上的页面是否正常工作。这包括模板、路由、requests、指令等等。

据我所发现,在测试一个工作应用程序时,大多数工作都需要模拟。虽然这很好,但我仍然希望测试我的应用程序中的实际模板和数据。

每当在我的应用程序中进行GET调用时,我都会得到如下所示的错误:

代码语言:javascript
复制
Unexpected request: GET application/templates/home.html
No more request expected
Error: Unexpected request: GET application/templates/home.html

结果发现它无法正确下载请求。这很好。从我所认为的情况来看,测试运行程序(testacular)无法下载模板文件,因为它位于不同的环境中(没有提供HTTP地址)。在如何解决这个问题上,我遇到的唯一解决方案是使用$httpBackend服务使用模拟对请求进行存根。虽然这对于某些情况很有用,但我想获取实际数据。

知道怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2012-11-23 17:44:24

您可能想编写两种不同类型的测试:

  1. 用模拟测试组件的单元测试,例如控制器、指令等。
  2. 运行完整堆栈的e2e测试,包括来自您自己服务器的数据。

这两种测试每一种都需要一个单独的分层配置。

正如用户所做的那样,Angular为导航测试浏览器和与应用程序交互提供了支持。解释和API记录在这里:guide.e2e-testing

我的e2e配置和说明发布在这里:https://stackoverflow.com/a/13410567/1739247

在您自己的服务器上运行测试的重要部分是proxies,正如在那篇文章中解释的那样。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13499683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档