如何测试使用Jasmine解决或拒绝承诺?

时间:2015-04-14 20:44:11

标签: angularjs unit-testing coffeescript jasmine

我有一个调用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,但正如我之前的问题,我不知道延迟正在解决。我怎么能做到这一点?

0 个答案:

没有答案