1

我是 qunit 和 JS 测试的新手。被测代码执行一个必须在我断言之前完成的动画 (slideDown)。看起来很简单,但我似乎无法让它工作。

asyncTest('my test', function() {
  setTimeout(function() {
    // assert something here
    start();
  }, 1000);
});

永远不会调用回调,并且测试挂起。

我也尝试过其他各种方法。例如:

test('my test', function() {
  expect(1);
  stop(1000);
  // assert something here
  start();
});

我可以看到两者startstop被调用,并且test 调用结束,但它仍然挂起。

万一这很重要,这是我的设置:

setup: function() {
  this.server = sinon.fakeServer.create();
  this.server.respondWith([200, { 'Content-Type': 'text/html' }, new_items()]);
  // invoke the actual system under test
  this.server.respond();
}
4

1 回答 1

1

听起来 Sinon 假计时器已打开(http://sinonjs.org/docs/#clock)。this.clock.tick(1001)设置超时后调用。

于 2013-01-07T03:43:29.893 回答