问题标签 [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.

0 投票
0 回答
1094 浏览

javascript - httpBackend 只期望请求一次

经过一番反复试验,我终于设法让 Jasmine 注入一个模拟 Angular 服务,并$httpBackend在同一个套件中提供:

我现在想编写一个只需要一次 GET 的测试,两个连续的调用应该返回一个缓存的响应,而不是向服务器发出另一个请求。对于间谍,您通常可以通过断言来做到这一点myObj.calls.count()

如何验证 HTTP 请求只被调用过一次?

0 投票
1 回答
2293 浏览

javascript - 使用带有 $httpBackend 的 spyon 的 Jasmine 测试不起作用

我正在尝试使用 spyon 在使用 $http 的方法上对一些 javascript 编写茉莉花测试。我已经使用 $httpBackend 模拟了这一点,不幸的是,间谍似乎没有意识到该方法确实被称为 post $http useage。我可以看到它在调试中被调用,所以不确定为什么它报告它没有被调用。我怀疑我的示波器使用有问题?或 $httpBackend.flush\verify 的顺序?:

被测代码

测试设置

工作测试:

不起作用的测试(但应该。返回 count-0 但被调用)

0 投票
1 回答
2408 浏览

angularjs - 使用 angularjs 的 $httpBackend 来模拟来自 API 的图像的方法是什么?

我正在做量角器测试并使用角度模拟来“伪造”请求。在我的应用程序中,应该显示图像的地方是:

是否可以像使用 json 一样接收获取图像数据的请求并将其替换为一些虚假的图像数据?

目前我在屏幕上得到了损坏的图像图标,我更喜欢用一些假图像代替。我希望这是可能的...

亲切的问候

0 投票
1 回答
755 浏览

jquery - 如何在测试角度页面时模拟 jquery ajax 调用

我正在使用protractor为我的角度页面编写 e2e 测试。我使用 $httpBackend 来模拟由 $http 发送的请求但是在一个旧页面中我发现了 jquery ajaxFrom 插件,它通过 jquery ajax 发送调用。我注意到它不能被 $httpBackend 嘲笑

嘲笑这些东西的最佳解决方案是什么?

0 投票
1 回答
304 浏览

jasmine - Jasmine 进行真实数据休息调用

Jasmine 可以使用 $httpBackend 通过使用

但是我可以对我做的服务器进行真正的数据调用吗?

0 投票
2 回答
1752 浏览

angularjs - 将参数传递给 $httpBackend

我正在尝试使用参数模拟 $http 获取请求。使用实际的 $http 服务,我们可以做这样的事情

我们可以对 $httpBacked 做同样的事情吗?

明显不愉快的替代方案是写出完整的预期网址,我希望我不必这样做,因为这感觉更整洁。

谢谢

0 投票
0 回答
501 浏览

angularjs - 如何在 httpBackend.expectPOST 中捕获参数?

AngularJS / Typescript/ AMD / RequireJS / Jasmine / Karma / Sinon

我有一个 AngularJS 自定义日志服务,它构建了一个私有的内部日志消息队列。此内部队列仅计算其队列中非调试类型的消息。在某些时候,它会将这个私有队列发送到 API(由消息大小限制和前面提到的计数处理)。这个逻辑也是私有的。我需要捕获该 http.POST 并检查传递给它的对象,以确保在包含所有消息的对象中未发送任何调试。

这是单元测试,所以我可以访问 httpBackEnd,但我不知道如何获取参数。我也有 jasmine spy,甚至是 sinon,但到目前为止我尝试过的方法都没有产生结果。

这是一个简短的介绍,描述了我的日志替代 Angulars 的要点。这是我试图通过单元测试实现的一些示例代码。

0 投票
1 回答
1056 浏览

javascript - 如何以不同的顺序刷新 AngularJS $httpBackend 响应

我有一个 AngularJS 服务,它执行 $http GET 请求并在本地缓存响应。它旨在处理同时发生的多个调用,以便仅缓存来自最终调用的数据。

具体来说,如果发生以下情况:

  • 请求 A 开始
  • 请求 B 开始
  • 请求 B 已完成
  • 请求 A 已完成

结果是请求 B 的响应被缓存了,因为它是最后发起的。

但是我在 Jasmine 中对它进行单元测试时遇到了麻烦。

我可以设置两个 $httpBackend.expectGET() 期望,但我只能按照请求的顺序刷新它们。

本质上,我需要能够做到这样的事情:

任何人都可以提出一种巧妙的方法来实现这一目标吗?

0 投票
0 回答
385 浏览

angularjs - Angular 单元测试 HTTP

我正在尝试对我的登录功能进行单元测试,并且我能够让该功能运行,但它不处理 $http 请求。我知道这一点是因为它在控制台中记录了“运行功能”,但没有记录“成功”或“错误”。有人知道错误吗?谢谢!

家庭控制器

家控制器测试

0 投票
1 回答
1947 浏览

javascript - Angular Jasmine $httpBackend 响应测试

我正在尝试测试 http 调用的响应。问题是,无论我放什么响应代码或响应数据,它都会通过。有任何想法吗?谢谢!

控制器.js

测试控制器.js