Prueba rápida y fácil de JavaScript con “Assert”

Hace años, aprendí un "aserto" engañosamente simple? Función de John Resig, para probar tu JavaScript. Sorprendentemente, en apenas cinco o seis líneas, este código proporciona un gran nivel de poder y control sobre su código, al realizar pruebas. Te mostraré cómo usarlo en el video rápido de hoy..


Screencast completo



Código de "Afirmación"

     Fácil prueba de JavaScript     

    ¡Eso es todo lo que necesitas para la mayoría de las pruebas básicas! La función de afirmación acepta dos parámetros:

    1. Salir: Un booleano, que hace referencia a si su prueba pasó o falló
    2. descripción: Una breve descripción de tu examen..

    los afirmar luego, la función simplemente crea un elemento de la lista, aplica una clase de "aprobación" o "falla", dependiendo de si su prueba devolvió verdadero o falso y luego agrega la descripción al elemento de la lista. Finalmente, ese bloque de codificado se agrega a la página. Es una locura simple, pero funciona perfectamente..


    Prueba 1: tu primer ejemplo

     función add (num1, num2) return num1 + num2;  var resultado = agregar (5, 20); assert (result == 24, 'Checking the add function'); // O afirmar (agregar (5, 20) == 24, 'Verificar la función de agregar');


    Prueba 2: Cierres

     var someArray = [1,2,3,4,5], len = someArray.length, i = 0; cuenta var = 0; para (; i < len; i++ )  setTimeout(function()  assert( count++ === i, 'Checking the value of: ' + i ); , i * 300); 
    ¡UH oh! Que pasó?

    Este es un problema común, y la respuesta es implementar un cierre, para que podamos recordar el valor de "i". De lo contrario, como notamos anteriormente, el código solo mostrará el valor final en la secuencia: 5.

     var someArray = [1,2,3,4,5], len = someArray.length, i = 0; cuenta var = 0; para (; i < len; i++ ) (function(i)  setTimeout(function()  assert( count++ === i, 'Checking the value of: ' + i ); , i * 300); )(i);


    Conclusión

    Al principio, puede parecer que solo grandes bibliotecas de JavaScript y tales requieren algún tipo de prueba; Sin embargo, eso está lejos de la verdad. Como hemos demostrado, incluso una función simple, como "assert" de Resig, puede potencialmente ahorrarnos horas de depuración. Entonces, ¿qué usas personalmente para probar tu código??