问题标签 [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.
testing - 如何在 AngularJS 中为 servicesSpec 和 controllersSpec 定义全局 $httpBackend?
我的控制器依赖于执行 http 请求的服务。控制器和服务测试都需要具有相同数据的 httpBackend。您对解决方法有任何想法吗?
angularjs - 使用 $httpBackend 对 AngularJS 进行单元测试会给出“错误:意外请求”
我将通过说我已经为我的“LoginCtrl”工作的测试来开始这个问题,它执行几乎完全相同的任务。我确信这是一个我忽略的非常小的问题。在此先感谢您的帮助:)
我已经httpBackend
为我的测试设置了预期值/响应,但是当我运行时httpBackend.flush()
,就好像我从未设置过预期一样。
测试代码:
输出响应:
angularjs - Trouble Using AngularJS $httpBackend to respond to BreezeJS executeQuery
Has anyone been able to build specs or e2e tests using $httpBackend while having BreezeJS function as your entity manager?
Here is the BreezeJS code:
And here is the test code from the Jasmine Spec using AngularJS $httpBackend:
But I get the jasmine test failure
This breeze method works fine running in the browser but not during tests. However, if I convert to using angularJS $http or $resource, this test will pass. I'm wondering if BreezeJS is not compatible with the $httpBackend for spec and e2e testing.
Thanks for any insight.
//EDIT --- AFTER TRYING TO MOCK AJAX BECAUSE OF STEVE'S RESPONSE
This fails as well.
angularjs - $httpBackend.flush() 仍然需要超时来定义对象
我正在使用 Karma 对我的 AngularJS 应用程序进行单元测试,并使用 $HttpBackend 对后端进行存根。不知何故,flush() 方法似乎无法解决我的所有请求,因为控制器中的某些变量仍未定义。但是,如果我在解决我的期望之前添加一个超时,它工作正常!
我的控制器:
我的规格:
任何帮助是极大的赞赏!
regex - 如何在 AngularJS $httpBackend ExpectGET 中使用正则表达式
我在 $resource GET 请求中将 url 作为参数传递。Angular 是对这个参数进行 url 编码,并且在 $httpBackend.expectGET 方法中匹配请求是很挑剔的。
我看到您可以使用正则表达式来匹配预期的请求,但无法使其正常工作。我想匹配资源位置,但使用任何“uri”查询字符串参数值。
Ctrl
测试
业力输出
谁能看到为什么我的正则表达式不匹配?
编辑
即使按照建议改进了正则表达式,我也无法使用“ $var ”注入语法来完成这项工作。我重写了测试,使用注入函数注入依赖项,并确保我的测试安排的顺序是正确的。现在它就像一个魅力!
angularjs - 是否有 Yeoman 使用 e2e 测试和 $httpBackend 生成的 AngularJS 应用程序示例?
是否有一个由 yo angular generator 生成的 AngularJS 应用程序示例,该应用程序具有$httpBackend
来自ngMockE2E
模块的 e2e 测试?最好使用用于 CI 和开发的单一和连续版本。
看起来使用 $httpBackend 需要创建一个新应用程序,该应用程序依赖于原始应用程序模块和ngMockE2E
模块,并且需要新的 index.html 文件来加载这个新应用程序。
如果测试使用不同的应用程序,这是否意味着我应该修改配置以将测试生成的文件存储在grunt server
命令(.tmp
)生成的文件之外的其他地方,还是这些文件完全相同?我希望能够在使用 PhantomJS 在后台运行 e2e 测试时运行 grunt 服务器以进行开发。
有没有人创建了一个基于 index.html 自动生成修改后的 index-e2e.html 文件的任务?通过这种方式,它将始终保持最新状态,并且还可以与 watch 一起使用,以便在原始 index.html 文件更改时自动重新生成它。
angularjs - $httpBackend.whenGET 带有多个参数
我有这个 URL 来匹配:
问题是这1121212156
是一个刻度,所以它每次都可能不同。有人知道如何创建一个正则表达式来做到这一点吗?
angularjs - 意外请求:GET $httpBackend 不再有请求
我的范围内有一个函数,可以在用户单击按钮或触发某些事件并自动调用此函数时检索我的服务状态。
这是我的功能,在我使用的控制器中定义:
单元测试如下:
在单元测试中,我还在同一个控制器上进行了其他 $httpBackend 测试,但它们都运行得非常顺利。我究竟做错了什么?
angularjs - 在 AngularJS/karma/jasmine 测试中通过 $http 测试后端 API?
如何使用 AngularJS/karma/jasmine 测试来测试我的 API 后端?
我试图创建最小的测试用例来显示我的错误:
回声服务器.py
测试/单元/apiSpec.js
的输出karma start configs/karma.conf.js
unit-testing - Angularjs 单元测试与 $rootScope 和 $httpBackend
我有一个触发 HTTP 请求的服务。此请求使用 $rootScope.config 对象(存储了我的基本 url),但由于某种原因,当我使用 $httpBackend 时,$rootScope 未正确加载。
服务:
测试:
当我在测试中将 $rootScope 设置为某个值时,它通常可以工作,但在这个测试中却不行。
使用 $httpBackend 时,为什么 $rootScope 在我的服务中没有配置属性?