Test de javascript con QUnit

De Dos Ideas.
Saltar a: navegación, buscar

¿Qué es QUnit?

QUnit es una potente herramienta para testear javascript.

Escribir test unitarios con QUnit

Lo primero que se debe hacer es hacer 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.


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