我有以下代码: (beforeEach)
spyOn(HttpService, 'post').and.callFake(function (url, paging, targetSpinner) {
return $q.when(_fakeServerResponse);
});
测试用例:
it('should compare size', function () {
service.get({},'','').then(function (serviceResponse) {
expect(serviceResponse.x).toEqual(_fakeServerResponse.x);
和get方法:
return httpService.post(apiUrls).then(postComplete)
我的问题是,如标题中所述:为什么茉莉花说没有期望。
使用未运行测试时的服务本身:
myService.get(data, param1, param2).then(getComplete);
我还要补充一点,在运行规范的情况下,getComplete永远不会被调用,这是我看到的问题的根源(但我不知道它为什么不被调用)。
由于
答案 0 :(得分:1)
$ q是异步的。返回的promise只会在下一个范围摘要中解析。您的测试应该看起来像:
{{1}}