2

分度器を使用してキュウリのテストを実行しています。テスト内で、次のアサーションがあります。

label.getText().then(
                function(labelText){
                    labelText = labelText.trim();
                    console.log('label text: ' + labelText);
                    chai.expect(labelText).to.equal(arg1);
                    callback();
                },
                function() {
                    callback.fail('Could not get page label text');
                });

アサーションが正しい場合は問題ありません。ただし、私の labelText が arg1 と異なる場合、引き続き実行したいと思いますが、例外または失敗のコールバックを追加する方法がわかりません。現時点では、私のアプリケーションは終了しています。これは、失敗コールバックを使用していないためです (どこに置くべきか知りたいです)。

また、callback(); を配置する必要があるかどうかもわかりません。今どこにあるか。

オンラインで解決策を探していますが、Mocha を使用した例しか見つかりません。モカやジャスミンは使っていません。分度器でCucumberフレームワークを使用しています。Cucumberjs にはアサーション ライブラリがないため、chai-as-promised を追加しました。ありがとう!

4

2 に答える 2

0

持っている場合はchai-as-promised、次のような非同期コードをアサートできます。

this.When(/^I assert async code$/, function(callback) {
    expect(asyncMethod()).to.eventually.equal(true).and.notify(callback);
});
于 2015-10-29T10:49:39.460 に答える