如何在不诉诸run/waitsFor块的情况下通过此测试?
it("cannot change timeout", function(done) {
request("http://localhost:3000/hello", function(error, response, body){
expect(body).toEqual("hello world");
done();
});
});
Run Code Online (Sandbox Code Playgroud)
Fra*_*sco 92
根据Jasmine docs,你可以(现在)直接在规范中设置它.
describe("long asynchronous specs", function() {
var originalTimeout;
beforeEach(function() {
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
});
it("takes a long time", function(done) {
setTimeout(function() {
done();
}, 9000);
});
afterEach(function() {
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
});
});
Run Code Online (Sandbox Code Playgroud)
Bri*_*Low 68
发送此功能的拉取请求(https://github.com/mhevery/jasmine-node/pull/142)
it("cannot change timeout", function(done) {
request("http://localhost:3000/hello", function(error, response, body){
expect(body).toEqual("hello world");
done();
});
}, 5000); // set timeout to 5 seconds
Run Code Online (Sandbox Code Playgroud)
Col*_*May 43
要设置全局Jasmine-Node超时,请执行以下操作:
jasmine.getEnv().defaultTimeoutInterval = timeoutYouWouldPrefer;// e.g. 15000 milliseconds
Run Code Online (Sandbox Code Playgroud)
感谢开发人员Gabe Hicks通过调试找出.getEnv()部分尽管在README文档中有错误信息,声称它是通过设置jasmine.DEFAULT_TIMEOUT_INTERVAL来完成的.
如果要为it()设置一个自定义超时,可以尝试将超时(毫秒)作为第三个参数(在字符串语句和函数之后)传递.还有那个正在做的例子在这里,但我不知道如果自定义超时比茉莉花的默认不再会发生什么.我希望它会失败.
d-_*_*_-b 18
看起来您现在可以将其添加为该it函数的最后一个参数:
describe('my test', function(){
it('works', function(done){
somethingAsync().then(done);
}, 10000); // changes to 10 seconds
});
Run Code Online (Sandbox Code Playgroud)
在Angular中,将其放在您的describe块之外:
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
Run Code Online (Sandbox Code Playgroud)
这适用于.spec.ts文件中的所有测试
| 归档时间: |
|
| 查看次数: |
68699 次 |
| 最近记录: |