承诺不期待决心或拒绝

时间:2014-09-05 14:19:55

标签: javascript angularjs jasmine jasmine2.0

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

以下是我提出的示例代码:

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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