Buster JS - BDD样式 - 设置规范超时

时间:2013-03-26 09:43:53

标签: javascript bdd buster.js

在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/);
    });
});

1 个答案:

答案 0 :(得分: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
    });
});