问题标签 [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.
angularjs - 带有查询参数的单元测试 $httpBackend
使用$httpBackend
,如何expectGET
与具有查询参数的 url 一起使用?顺序无关紧要,价值也无关紧要。
使用$resource
这是我声明它的方式:
angularjs - 使用 $httpBackend 测试 $resource 的 PUT/POST 方法时出错
我在尝试测试使用 $resource 设置的服务时遇到问题,该服务具有各种方法 GET、PUT、POST。
我在测试中使用 $httpBackend,它在测试 GET 请求时工作正常,但在 PUT/POST 上失败 - 我认为这可能是因为它首先发送了一个 OPTIONS 请求。
奇怪的是,如果我将工厂更改为使用 $http.post() 而不是使用 $resource,则测试可以正常通过。
有谁知道解决这个问题的方法?我可以关闭 OPTIONS 请求吗?或者其他的东西...?
谢谢!
服务
ApiConfig.urlBase 在测试中解析为http://localhost:8080/ ...
测试文件
jquery - 该站点正在运行哪个 SQL 查询?
我公司的网站(内部网站或外部网站 - 有时是门户网站)返回某些结果(通过后端系统中的 SQL 查询/命令获得)。我试图找出哪些查询正在后台运行,以及如何将查询结果追踪到它们来自的表中。我怎样才能做到这一点?我尝试查看“源”但没有发现任何查询那里。如果这很重要,后端使用 SQL Server。
angularjs - $httpBackend.expect() 应该去哪里?
以下测试通过:
admin.controller.js
admin.controller.spec.js
我没想到会这样。这是我期望发生的事情:
- 控制器在
beforeEach
. User.list()
运行。$http
尚未被 覆盖,因此$httpBackend
请求正常发出。$httpBackend.expectGET('/users').respond('foo')
预计GET /users
。并说,“如果我收到那个请求,我会用 'foo' 回应”。$httpBackend.flush()
说“为收到的任何请求发送定义的响应$httpBackend
。”.expectGET
失败是因为它没有收到它的请求(请求发生在预期之前)。.flush()
抛出一个错误,因为没有什么要刷新的。
我没有得到我期望的结果,所以我上面的逻辑一定是错误的——它是什么?
angularjs - Angular 应用程序在严格模式下的 httpBackend 显式注释
我正在使用 Protractor 的addMockModule
功能来模拟一些请求数据,但是在目标 Angular 应用程序处于严格模式时遇到问题。
这是错误:
这是代码:
有没有办法在 Angular 的上下文中显式注入 $httpBackend ?
angularjs - $httpBackend 带有查询参数的请求
我收到以下错误
对于 expectGET 我有以下内容,这会创建动态查询字符串。主要是“开始”参数和 whenGET 部分,我试图根据“开始”提供动态内容
$httpBackend.expectGET('/restpath/api/v1/books?limit=10&start=1');
// the actual service goes here , which does the $http service. we don't care
$httpBackend.flush();
javascript - $httpBackend jsonp:没有待刷新的请求
单击按钮时,我会进行 jsonp 调用。
测试:
但我不断收到No pending requests to flush failure。
在 JSONP 调用的情况下,我们需要做些什么不同的事情。在其他任何地方,这种格式都有效。
PS:是的,我打电话(很多问题,人们实际上是在打电话或触发触发事件的动作)。至少,我看到代码到达了我在代码中提出请求的那一行。
angularjs - 当我使用配置构建 URL 时,如何测试我的 HTTP 调用?
在我的项目中,我构建了一些 HTTP 请求,如下所示:
这意味着最终的 HTTP 调用看起来像my/service?foo=bar&hello=worldVar
我该如何设置我$httpBackend
的帐户?
我看到的问题是:
- 我不能保证这种风格的参数顺序,这意味着设置第一个参数
expectGet
会很困难。 - 当我真的不关心参数时,很难测试调用
javascript - 在 karma 中使用 AngularJS $http 测试链式 Promise
我试图在 $http 调用之后在 Promise 中返回一个 Promise,但它在 karma/jasmine 测试用例中永远不会得到解决。
这是代码:
当然,测试用例通过了,但第二个 Promise 从未解决。如果我waitsFor
用来检查是否p
已解决,业力会显示超时错误。
由于它可以使用简单的Promise.resolve('foo')
(见上文),问题似乎是$httpBackend.flush()
只刷新第一个承诺,而不是返回的第二个承诺。
随机$rootScope.$apply()
也没有解决问题。我也尝试过初始化beforeEach(module('myModule'))
,但由于未使用该模块,我还是看不到重点。我错过了什么?