0

我有一个单元测试,我正在检查服务是否使用 $http 轮询 URL。第一次我想返回一个值,该值将导致服务等待 10 秒(使用 $timeout)然后再次轮询。第二轮我想返回一个值,该值将停止服务轮询。

当我这样做时

httpBackend.expectGET(url).respond(200, { status: 'busy'});
httpBackend.expectGET(ulr).respond(200, { status: 'complete}');
service.poll();
httpBackend.flush();
timeout.flush();

httpBackend.verifyNoAllRequests();

但是它永远不会进入验证部分。一旦我做 timeout.flush() 我得到

Unsatisfied requests: GET /url/status/check
4

1 回答 1

0

你有没有尝试过 :

httpBackend.expectGET(url).respond(200, { status: 'busy'});
service.poll();
httpBackend.flush();
timeout.flush();
httpBackend.expectGET(url).respond(200, { status: 'complete}');
httpBackend.flush();
于 2014-09-16T13:11:36.563 回答