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