Diferencia entre revisiones de «Test de javascript con QUnit»

De Dos Ideas.
Saltar a: navegación, buscar
(Escribir test unitarios con QUnit)
(Escribir test unitarios con QUnit)
Línea 5: Línea 5:
 
== Escribir test unitarios con QUnit ==
 
== Escribir test unitarios con QUnit ==
  
Lo primero que se debe hacer es el ambiente de test.  
+
Lo primero que se debe hacer es configurar el ambiente de test.  
  
Para utilizar QUnit, se tiene que incluir los archivos qunit.js, qunit.css y un HTML para mostrar los resultados de las pruebas.
+
Para utilizar QUnit se deben usar los siguientes archivos: qunit.js y qunit.css. El qunit.js es un script con la libreria, y el qunit.css es una hoja de estilo y es opcional.
 +
 
 +
<code xml>
 +
<link rel="stylesheet" type="text/css" href="http://github.com/jquery/QUnit/raw/master/QUnit/QUnit.css" media="all" />
 +
<script type="text/javascript" src="http://github.com/jquery/QUnit/raw/master/QUnit/QUnit.js"></script>
 +
</code>
 +
 
 +
Además de estos archivos, nuestras aplicaciones tienen que contar con una serie de etiquetas HTML donde se mostrarán los resultados de nuestros tests:
 +
 
 +
<code xml>
 +
<h1 id="QUnit-header">QUnit Test Suite</h1>
 +
<h2 id="QUnit-banner"></h2>
 +
<div id="QUnit-testrunner-toolbar"></div>
 +
<h2 id="QUnit-userAgent"></h2>
 +
<ol id="QUnit-tests"></ol>
 +
</code>
  
  

Revisión del 22:52 15 ago 2011

¿Qué es QUnit?

QUnit es una potente herramienta para testear javascript.

Escribir test unitarios con QUnit

Lo primero que se debe hacer es configurar el ambiente de test.

Para utilizar QUnit se deben usar los siguientes archivos: qunit.js y qunit.css. El qunit.js es un script con la libreria, y el qunit.css es una hoja de estilo y es opcional.

<link rel="stylesheet" type="text/css" href="http://github.com/jquery/QUnit/raw/master/QUnit/QUnit.css" media="all" /> <script type="text/javascript" src="http://github.com/jquery/QUnit/raw/master/QUnit/QUnit.js"></script>

Además de estos archivos, nuestras aplicaciones tienen que contar con una serie de etiquetas HTML donde se mostrarán los resultados de nuestros tests:

QUnit Test Suite


    <!DOCTYPE html> <html> <head> <title>Dos Ideas - QUnit</title> <script src="http://code.jquery.com/jquery-latest.js"></script> <link rel="stylesheet" href="http://code.jquery.com/qunit/git/qunit.css" type="text/css" media="screen" /> <script type="text/javascript" src="http://code.jquery.com/qunit/git/qunit.js"></script> <script type="text/javascript" src="dosIdeas.js"></script>

    <script type="text/javascript" src="dosIdeasTest.js"></script>

    </head> <body>

    QUnit example

      test markup, will be hidden

      </body> </html>

      El codigo que se va a testear debe estar en dosIdeas.js y los test en dosIdeasTest.js. Para correr los test simplemente se debe abrir el html en el browser.

      El archivo dosIdeasTest.js:

      $(document).ready(function(){

      module("dosIdeasTest");

      test('probando validarImporte()', function() { ok(validarImporte("1112"),'El importe es 1112'); ok(!validarImporte("11A12"),'El importe es 11A12'); ok(!validarImporte("A1112"),'El importe es A1112'); ok(!validarImporte("1112A"),'El importe es 1112A'); })

      test('probando extraerSubCadena()', function() { equal(extraerSubCadena("dosIdeas",3,5),'Ideas'); equal(extraerSubCadena("dosIdeas",3,5),'deas'); })

      });


      El archivo dosIdeas.js:

      function validarImporte(importe) {

             esImporteValido = true;
      
             if (importe.length == 0) {
                 mensajeError = 'Ingresá el importe a pagar.';
                 esImporteValido = false;
             } else {
                 if (!/^[1-9][0-9]*(?:\.)?[0-9]?[0-9]?$/.test(importe.replace(',','.'))) {
                     mensajeError = "El importe a pagar debe ser numérico, mayor a cero con hasta 2 decimales.";
                     esImporteValido = false;
                 }
             }
             return esImporteValido;
         }
      

      function extraerSubCadena(cadena, posicionInicial, longitud) { return cadena.substr(posicionInicial, longitud); }


      DosIdeasQUnitResultado.jpg