QUnit - Procedimento de Execução

Este capítulo explica o procedimento de execução de métodos em QUnit, que afirma qual método é chamado primeiro e qual depois disso. A seguir está o procedimento de execução dos métodos da API de teste QUnit com um exemplo.

<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.module( "Module A", {
            beforeEach: function( assert ) {
               assert.ok( true, "before test case" );
            }, afterEach: function( assert ) {
               assert.ok( true, "after test case" );
            }
         });
         
         QUnit.test( "test case 1", function( assert ) {
            assert.ok( true, "Module A: in test case 1" );
         });
         
         QUnit.test( "test case 2", function( assert ) {
            assert.ok( true, "Module A: in test case 2" );
         });
		 		 
         QUnit.module( "Module B" );		
         QUnit.test( "test case 1", function( assert ) {
            assert.ok( true, "Module B: in test case 1" );
         });
         
         QUnit.test( "test case 2", function( assert ) {
            assert.ok( true, "Module B: in test case 2" );
         });		 
      </script>
   </body>
</html>

Verifique a saída

Você deve ver o seguinte resultado -

É assim que funciona o procedimento de execução QUnit.

  • O módulo é usado para agrupar casos de teste.

  • beforeEach() método é executado para cada caso de teste, no entanto, antes de executar o caso de teste.

  • afterEach() método é executado para cada caso de teste, porém após a execução do caso de teste.

  • Entre beforeEach() e afterEach() cada caso de teste é executado.

  • Chamando QUnit.module() novamente, simplesmente redefina quaisquer funções beforeEach / afterEach definidas por outro módulo anteriormente.