QUnit - Llamada asíncrona

Para cada operación asincrónica en QUnit.test() devolución de llamada, uso assert.async(), que devuelve una función "realizada" que debería llamarse cuando la operación se haya completado. assert.async () acepta recuentos de llamadas como parámetro. La devolución de llamada devuelta por assert.async () arrojará un Error, si se invoca más que el recuento de llamadas aceptadas, si se proporciona. Cadadone()llamada se suma al recuento de llamadas. Después de que se completa cada llamada, se realiza la prueba.

<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>

Verificar la salida

Debería ver el siguiente resultado: