0

AngularJs Service の 1 つをテストするために、単体テストを作成していました。

これが私が思いついたサンプルコードです:

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

延期が解決されたか拒否されたかを確認したいだけです。期待が実際には明示的ではないため、本当に満足できるとは思いません。

遅延が拒否または解決されたかどうかを確認するこれよりも良い方法はありますか?

4

1 に答える 1

1

いくつかのアドバイスの後、私は非常に読みやすく理解しやすい次の解決策に行きました!

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