你如何模拟$ http给404?

时间:2014-01-27 10:33:09

标签: angularjs mocking jasmine

如何模拟$http以便在调用特定URL时调用.error函数?

beforeEach(angular.mock.inject(function ($httpBackend) {
    $httpBackend.when('GET', '/ErrorReturningURL').respond(/* report a 404 */);
}));

在我的单元测试中,我将观察某个函数调用。

1 个答案:

答案 0 :(得分:8)

您可以对when返回的值使用.respond function的替代形式:

beforeEach(angular.mock.inject(function ($httpBackend) {
    $httpBackend.when('GET', '/ErrorReturningURL').respond(404, '');
}));

我对function([status,] data[, headers])函数使用语法respond。因此,我需要显式传递第二个参数data以确保第一个参数被解释为status

相关问题