我有一个调用API服务的函数。我想模仿网络调用失败的情况并拒绝承诺。
方法(在coffeescript中):
find: (collection, query)
deferred = do $q.defer
$http.post config.server + "/api/v1/find/#{collection}", {}
.success (result, status, headers, config) ->
deferred.resolve result
.error (result, status, headers, config) ->
deferred.reject result
deferred.promise
我了解如何设置成功条件:
it "should make a request to the correct URL", () ->
$httpBackend.expectPOST(server+"/api/v1/find/foo").respond(200)
entitySvc.find "foo", {}
do $httpBackend.flush
1)我应该测试网络呼叫的失败,还是应该由服务设计师测试,如果是,我如何检查承诺是否被拒绝?
2)expectPOST断言仅测试正在构建和从我的输入调用正确的URL,但正如我之前的问题,我不知道延迟正在解决。我怎么能做到这一点?