QUnit es un framework de JavaScript para pruebas unitarias . Desarrollado originalmente para probar jQuery , jQuery UI y jQuery Mobile , es un framework genérico para probar cualquier código JavaScript. Admite entornos del lado del cliente en navegadores web y del lado del servidor (por ejemplo, Node.js ).
Los métodos de afirmación de QUnit siguen la especificación de pruebas unitarias CommonJS , que a su vez fue influenciada hasta cierto punto por QUnit.
John Resig desarrolló originalmente QUnit como parte de jQuery. En 2008, se extrajo del código de prueba unitaria de jQuery para formar su proyecto y se lo conoció como "QUnit". Esto permitió que otros comenzaran a usarlo para escribir sus pruebas unitarias . Si bien la versión inicial de QUnit usaba jQuery para interactuar con el DOM , una reescritura en 2009 hizo que QUnit fuera completamente independiente.
Un análisis de 2017 de los repositorios de código de npm y GitHub mostró que QUnit era el tercer marco más frecuente, con la mitad de uso que el marco más popular, Mocha . [2]
QUnit.module(string)
- Define un módulo, una agrupación de una o más pruebas.QUnit.test(string, function)
- Define una prueba.QUnit utiliza un conjunto de métodos de afirmación para proporcionar significado semántico en pruebas unitarias: [3]
assert.ok(boolean, string)
- Afirma que el valor proporcionado se convierte en booleano verdadero .assert.equal(value1, value2, message)
- Compara dos valores, utilizando el operador doble igual .assert.deepEqual(value1, value2, message)
- Compara dos valores basándose en su contenido, no solo en su identidad.assert.strictEqual(value1, value2, message)
- Compara estrictamente dos valores, utilizando el operador triple igual .Un ejemplo básico sería el siguiente: [4]
QUnit . test ( 'un ejemplo de prueba básico' , función ( assert ) { var obj = {}; assert . ok ( true , 'Boolean true' ); // pasa assert . ok ( 1 , 'Número uno' ); // pasa assert . ok ( false , 'Boolean false' ); // falla obj . start = 'Hola' ; obj . end = 'Ciao' ; assert . equal ( obj . start , 'Hola' , 'Saludo de apertura' ); // pasa assert . equal ( obj . end , 'Adiós' , 'Saludo de cierre' ); // falla });