QUnit - Асинхронный вызов
Для каждой асинхронной операции в QUnit.test() обратный вызов, используйте assert.async(), который возвращает "выполненную" функцию, которая должна вызываться после завершения операции. assert.async () принимает в качестве параметра счетчик вызовов. Обратный вызов, возвращенный из assert.async (), вызовет ошибку, если он вызван больше, чем принятое количество вызовов, если оно предусмотрено. Каждыйdone()звонок складывается в счетчик звонков. После завершения каждого вызова тест завершается.
<html>
<head>
<meta charset = "utf-8">
<title>QUnit basic example</title>
<link rel = "stylesheet" href = "https://code.jquery.com/qunit/qunit-1.22.0.css">
<script src = "https://code.jquery.com/qunit/qunit-1.22.0.js"></script>
</head>
<body>
<div id = "qunit"></div>
<div id = "qunit-fixture"></div>
<script>
QUnit.test( "multiple call test()", function( assert ) {
var done = assert.async( 3 );
setTimeout(function() {
assert.ok( true, "first callback." );
done();
}, 500 );
setTimeout(function() {
assert.ok( true, "second callback." );
done();
}, 500 );
setTimeout(function() {
assert.ok( true, "third callback." );
done();
}, 500 );
});
</script>
</body>
</html>
Проверьте вывод
Вы должны увидеть следующий результат -