1

javascriptのBDDにbuster.jsを使用すると、テストするAPIがかなり多くなります。デフォルトのタイムアウトは、特定の条件下ではそれを実行していません。(非同期)仕様のデフォルトのタイムアウトをオーバーライドするにはどうすればよいですか?

describe("Given a request for all combinations", function() {

    var scenario = null, spec;

    beforeAll(function() {
        scenario = scenarios.buildFakeAPI();
    });

    before(function(done) {

       spec = this;

       // *** this request can take up to 60 seconds which causes a timeout:
       scenario.request({ path: "/my/request/path" }, function(err, res) {

           spec.result = res;
           done();
       }); 
    });

    it("it should have returned the expected thing", function() {
        expect(spec.result).toMatch(/expected thing/);
    });
});
4

1 に答える 1

2

私も同じ問題を抱えていましたが、次のように解決したようです。

BDDを使用しない場合は、setUp関数でタイムアウトを設定します。

buster.testCase("MyTest", {
    setUp: function() {
        this.timeout = 1000; // 1000 ms ~ 1 s
    }
});

BDD表記を使用する場合、beforeAll関数でも同じことができます。

describe("MyTest", function() {
    before(function() {
        this.timeout = 1000 * 60; // 60000 ms ~ 60 s
    });
});
于 2013-03-28T15:31:50.647 に答える