使用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);
});