1
我是qunit和JS测试的新手。被测试的代码做一个动画(slideDown),在我断言之前必须完成。看起来很简单,但我似乎无法得到它的工作。QUnit测试挂起
asyncTest('my test', function() {
setTimeout(function() {
// assert something here
start();
}, 1000);
});
回调从未被调用,并且测试挂起。
我也尝试了其他各种方法。例如:
test('my test', function() {
expect(1);
stop(1000);
// assert something here
start();
});
我可以看到,无论start
和stop
被称为和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();
}
如果你只使用一个简单的断言如'ok(true,“always fine”);'?即'asyncTest()'一般适合你吗?因为如果是这样,它必须有你的断言代码来打破你的测试。 – Odi
我可能不太清楚,传入setTimeout的回调永远不会运行。 –
它从未被称为?无论断言中的代码有多简单?那么[我的jsFiddle示例](http://jsfiddle.net/odi86/9QDUX/)? – Odi