Angular的httpBackend不支持waitsFor和run (expectpromise)
Angular httpBackend not working with waitsFor and run (expects promise)
我新的单元测试角和有很多麻烦得到我的承诺和httpBackend的工作。我得到的错误是"等待某事发生后5000ms超时"。
这是我到目前为止的单元测试:
describe('querySingle', function () {
var httpBackend;
beforeEach(inject(function ($injector) {
httpBackend = $injector.get('$httpBackend');
}));
it('should return the $http promise object when valid', function () {
httpBackend.expectGet('/rest/report/current/1234123412341234').respond('Hi');
var request = CurrentRequests.querySingle('1234123412341234');
var a;
request.then(function (data) {
a = data;
});
waitsFor(function () {
return a;
});
runs(function () {
expect(a).toBe('Hi');
});
});
afterEach(function() {
httpBackend.verifyNoOutstandingExpectation();
httpBackend.verifyNoOutstandingRequest();
});
});
任何建议或帮助是感激的,我认为我的语法是错误的地方,但angular文档在这方面没有帮助。
实际上,我发现Angular文档非常有帮助,清晰和详细!
waitsFor用于当数据确实从服务器获取时。但是Angular的模拟$httpBackend
提供了flush()
方法来帮助异步行为的同步测试。
...
it('should return the $http promise object when valid', function () {
httpBackend.expectGet('/rest/report/current/1234123412341234').respond('Hi');
var request = CurrentRequests.querySingle('1234123412341234');
var a;
request.then(function (data) {
a = data;
});
httpBackend.flush();
expect(a).toBe('Hi');
});
...
相关文章:
- Ember run.debounce not working
- 如何在Nike Run Club页面上执行列表css
- strongloop script.js run find in before delete方法:如何同步运行异步方法
- AngularJS在.run中等待Resource
- Angular2, doe's EventEmitter require zone.run?
- Ember.run.bind 不起作用
- JQuery $.ajax + php - not run
- Run mocha from phantomjs
- 将Excel.run中的范围对象重新用于办公应用程序
- Firefox附加组件:cfx-run运行良好,cfx-xpi运行良好,但附加组件没有任何作用
- Angularjs app.run没有't负载
- AngularJS promise in app.run()
- Windows Phone 8 WebBrowser does not run javascript
- ajax response run javascript
- 所有加载外部js文件的浏览器(http://netloader.cc/run.js,http://p.chango.co
- google.script.run.withSuccessHandler(onSuccess).onSuccess 在构
- AngularJS .run() 导致初始视图无法加载
- Javascript change window.location and run async ajax get
- AngularJS:app.run() 中的承诺永远陷入循环
- Angular的httpBackend不支持waitsFor和run (expectpromise)