加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 17:12:27 所属栏目:安全 来源:网络整理
导读:我终于得到了我的AngularJS测试环境设置,我正在尝试测试我的应用程序上的页面是否正常工作.这包括模板,路线,请求,指令等. 根据我的发现,在测试一个正在运行的应用程序时,结果证明模拟需要完成大部分工作.虽然这很好,但我仍然想测试我的应用程序中的实际模板
我终于得到了我的AngularJS测试环境设置,我正在尝试测试我的应用程序上的页面是否正常工作.这包括模板,路线,请求,指令等.

根据我的发现,在测试一个正在运行的应用程序时,结果证明模拟需要完成大部分工作.虽然这很好,但我仍然想测试我的应用程序中的实际模板和数据.

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

Unexpected request: GET application/templates/home.html
No more request expected
Error: Unexpected request: GET application/templates/home.html

事实证明它无法正确下载请求.哪个好.根据我的想法,测试运行器(testacular)无法下载模板文件,因为它在一起的不同环境中(没有提供HTTP地址).我遇到的唯一解决方法是使用$httpBackend服务使用模拟来存根请求.虽然这对某些情况很有用,但我想获取实际数据.

有关如何解决此问题的任何想法?

解决方法

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

>使用模拟进行单元测试,以隔离测试组件,如控制器,指令等
>运行完整堆栈的e2e测试,包括来自您自己服务器的数据.

这两种测试都需要单独的测试配置.

Angular提供了对导航测试浏览器以及与用户进行交互的支持.这里有解释和API:http://docs.angularjs.org/guide/dev_guide.e2e-testing

我的测试e2e配置和解释发布在这里:
https://stackoverflow.com/a/13410567/1739247

对于您自己的服务器运行测试的重要部分是代理,如该帖子中所述.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读