问题标签 [httpbackend]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - httpBackend 只期望请求一次
经过一番反复试验,我终于设法让 Jasmine 注入一个模拟 Angular 服务,并$httpBackend
在同一个套件中提供:
我现在想编写一个只需要一次 GET 的测试,两个连续的调用应该返回一个缓存的响应,而不是向服务器发出另一个请求。对于间谍,您通常可以通过断言来做到这一点myObj.calls.count()
。
如何验证 HTTP 请求只被调用过一次?
javascript - 使用带有 $httpBackend 的 spyon 的 Jasmine 测试不起作用
我正在尝试使用 spyon 在使用 $http 的方法上对一些 javascript 编写茉莉花测试。我已经使用 $httpBackend 模拟了这一点,不幸的是,间谍似乎没有意识到该方法确实被称为 post $http useage。我可以看到它在调试中被调用,所以不确定为什么它报告它没有被调用。我怀疑我的示波器使用有问题?或 $httpBackend.flush\verify 的顺序?:
被测代码
测试设置
工作测试:
不起作用的测试(但应该。返回 count-0 但被调用)
angularjs - 使用 angularjs 的 $httpBackend 来模拟来自 API 的图像的方法是什么?
我正在做量角器测试并使用角度模拟来“伪造”请求。在我的应用程序中,应该显示图像的地方是:
是否可以像使用 json 一样接收获取图像数据的请求并将其替换为一些虚假的图像数据?
目前我在屏幕上得到了损坏的图像图标,我更喜欢用一些假图像代替。我希望这是可能的...
亲切的问候
jquery - 如何在测试角度页面时模拟 jquery ajax 调用
我正在使用protractor为我的角度页面编写 e2e 测试。我使用 $httpBackend 来模拟由 $http 发送的请求但是在一个旧页面中我发现了 jquery ajaxFrom 插件,它通过 jquery ajax 发送调用。我注意到它不能被 $httpBackend 嘲笑
嘲笑这些东西的最佳解决方案是什么?
jasmine - Jasmine 进行真实数据休息调用
Jasmine 可以使用 $httpBackend 通过使用
但是我可以对我做的服务器进行真正的数据调用吗?
angularjs - 将参数传递给 $httpBackend
我正在尝试使用参数模拟 $http 获取请求。使用实际的 $http 服务,我们可以做这样的事情
我们可以对 $httpBacked 做同样的事情吗?
明显不愉快的替代方案是写出完整的预期网址,我希望我不必这样做,因为这感觉更整洁。
谢谢
angularjs - 如何在 httpBackend.expectPOST 中捕获参数?
AngularJS / Typescript/ AMD / RequireJS / Jasmine / Karma / Sinon
我有一个 AngularJS 自定义日志服务,它构建了一个私有的内部日志消息队列。此内部队列仅计算其队列中非调试类型的消息。在某些时候,它会将这个私有队列发送到 API(由消息大小限制和前面提到的计数处理)。这个逻辑也是私有的。我需要捕获该 http.POST 并检查传递给它的对象,以确保在包含所有消息的对象中未发送任何调试。
这是单元测试,所以我可以访问 httpBackEnd,但我不知道如何获取参数。我也有 jasmine spy,甚至是 sinon,但到目前为止我尝试过的方法都没有产生结果。
这是一个简短的介绍,描述了我的日志替代 Angulars 的要点。这是我试图通过单元测试实现的一些示例代码。
javascript - 如何以不同的顺序刷新 AngularJS $httpBackend 响应
我有一个 AngularJS 服务,它执行 $http GET 请求并在本地缓存响应。它旨在处理同时发生的多个调用,以便仅缓存来自最终调用的数据。
具体来说,如果发生以下情况:
- 请求 A 开始
- 请求 B 开始
- 请求 B 已完成
- 请求 A 已完成
结果是请求 B 的响应被缓存了,因为它是最后发起的。
但是我在 Jasmine 中对它进行单元测试时遇到了麻烦。
我可以设置两个 $httpBackend.expectGET() 期望,但我只能按照请求的顺序刷新它们。
本质上,我需要能够做到这样的事情:
任何人都可以提出一种巧妙的方法来实现这一目标吗?
angularjs - Angular 单元测试 HTTP
我正在尝试对我的登录功能进行单元测试,并且我能够让该功能运行,但它不处理 $http 请求。我知道这一点是因为它在控制台中记录了“运行功能”,但没有记录“成功”或“错误”。有人知道错误吗?谢谢!
家庭控制器
家控制器测试
javascript - Angular Jasmine $httpBackend 响应测试
我正在尝试测试 http 调用的响应。问题是,无论我放什么响应代码或响应数据,它都会通过。有任何想法吗?谢谢!
控制器.js
测试控制器.js