1

在 javascript 中使用 buster.js 进行 BDD,我有一些相当大的 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 回答