QUnit - chamada assíncrona
Para cada operação assíncrona em QUnit.test() callback, use assert.async(), que retorna uma função "concluída" que deve ser chamada quando a operação for concluída. assert.async () aceita contagens de chamadas como um parâmetro. O retorno de chamada retornado de assert.async () lançará um erro, se for invocado mais do que a contagem de chamadas aceitas, se fornecida. Cadadone()chamada é adicionada à contagem de chamadas. Depois que cada chamada for concluída, o teste estará concluído.
<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>
Verifique a saída
Você deve ver o seguinte resultado -