2014-09-05 99 views
0

要测试我的一个AngularJs服务,我正在写入单元测试。承诺不期待解决或拒绝

这里是我想出了一个示例代码:

it('', function(done) { 
    aDocument.retrieveServiceFile(extractedFileFeature) 
     .then(function() { 
      expect(true).toBeFalsy(); 
     }, function() { 
      expect(true).toBeTruthy(); 
     }); 
    $rootScope.$digest(); 
    done(); 
} 

我只是想检查是否延迟已经解决或拒绝。 我并不觉得它真的令人满意,因为期望并不明确。

有没有比这更好的方法来检查延期是否被拒绝或解决?

回答

1

经过一些建议,我去了以下解决方案,这是很容易阅读和理解!

promise.then(function() { 
    shouldHaveBeenHere = false; 
}, function() { 
    shouldHaveBeenHere = true; 
}).finally(function() { 
    expect(shouldHaveBeenHere).toBeTruthy(); 
});