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