0

为了测试我的一项 AngularJs 服务,我正在编写单元测试。

这是我想出的示例代码:

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

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

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

4

1 回答 1

1

经过一些建议,我选择了以下非常容易阅读和理解的解决方案!

promise.then(function() {
    shouldHaveBeenHere = false;
}, function() {
    shouldHaveBeenHere = true;
}).finally(function() {
    expect(shouldHaveBeenHere).toBeTruthy();
});
于 2014-09-05T14:49:12.143 回答