【发布时间】:2016-01-22 16:20:16
【问题描述】:
我们有一组测试用例,适用于许多不同的形式。 某些表单可能会触发延迟加载程序,该加载程序会在指令的 post 部分中预取一些数据,因此会触发 HTTP GET。
在普通测试的 beforeEach 中,我必须处理它,否则我会得到 意外请求:GET /bla/requests/generateJson/something 预计没有更多请求
我添加了 $httpBackend.when("GET",//generateJson/(.+)/).respond();在 scope.$digest() 之前;在测试的 beforeEach 中。现在,错误变为
错误:未刷新的请求:1
添加 $httpBackend.flush();
在触发 GET 调用时导致测试用例通过,但所有未触发 GET 的测试用例均失败并出现错误
错误:没有待处理的刷新请求!
我该如何处理?我只是希望这个测试完全忽略 GET,无论它是否存在。我能否以某种方式确定 GET 是否被触发,然后对 flush 做出反应?
【问题讨论】:
标签: javascript angularjs unit-testing jasmine httpbackend