使用Jasmine done更改超时消息
现在我有以下代码使用Jasmine done更改超时消息,jasmine,Jasmine,现在我有以下代码 it("takes a long time", function(done) {}); 问题是当它超时时,我会收到以下消息 错误:超时-未在超时内调用异步回调 由jasmine.DEFAULT\u TIMEOUT\u INTERVAL指定 我可以将此消息更改为更具体的消息吗?这是关于您的测试的错误,而不是您正在测试的代码的错误。如果您的测试编写正确,您就不会遇到该错误。测试本身正在超时。如果您正在编写测试以查看某些代码如何/是否超时,那么您应该编写测试来处理该问题,而不是因为
it("takes a long time", function(done) {});
问题是当它超时时,我会收到以下消息
错误:超时-未在超时内调用异步回调
由jasmine.DEFAULT\u TIMEOUT\u INTERVAL指定
我可以将此消息更改为更具体的消息吗?这是关于您的测试的错误,而不是您正在测试的代码的错误。如果您的测试编写正确,您就不会遇到该错误。测试本身正在超时。如果您正在编写测试以查看某些代码如何/是否超时,那么您应该编写测试来处理该问题,而不是因为没有及时调用done而导致测试抛出错误 如果您需要等待很长时间来查看某个测试是否超时,您可以通过更改Jasmine来更改Jasmine在测试抛出超时错误之前等待的时间。默认值\u timeout\u INTERVAL=10000 Jasmine确实提供了setInterval和setTimeout,让您可以同步运行代码,并节省了所有浪费的等待时间
// this function times out if passed "true" as second argument
function testThis(done, shouldTimeout) {
setTimeout(function() {
shouldTimeout || done();
}, 500);
}
it("timed out", function(done) {
var timedOut = false;
setTimeout(function() {
testThis(function() {
// this shouldn't be called because we're telling `testThis` to timeout
timedOut = true;
}. true);
});
setTimeout(function() {
expect(timedOut).toBeFalsy();
done();
}, 505);
});