¿Qué es una lista de criterios para elegir un marco de prueba?
1) sintaxis
A medida que investigue diferentes marcos de prueba, notará que la sintaxis es un factor diferenciador en todos ellos. Esto realmente dependerá de lo que te haga sentir cómodo.
Por ejemplo, qUnit es más un marco de prueba declarativo. Su API consta de funciones llamadas test, equals ,triclyEqual, deepEqual, etc.
Otro marco de prueba, mocha , se parece más a rspec en que se lee en una estructura más parecida a una oración. Su API consta de funciones llamadas describe, it, afirmar.equal, etc.
Mi preferencia personal es una qunit como estructura.
2) Características: trozos, espías, servidor falso, reloj falso, etc.
Cuando comience a probar en Javascript, se encontrará rápidamente en situaciones en las que necesita su marco de prueba para ayudarlo a probar ciertos casos de uso. Por ejemplo:
Espías: esto lo ayudará a detectar si su código llamó a una función cuando debería
Stubs: muy similar a un espía, excepto que contiene un comportamiento predefinido (Ejemplo: cuando se llama al stub, devuelve foo)
Servidor falso: si su código emite llamadas AJAX y desea falsificar la respuesta de la llamada AJAX, un servidor falso lo ayudará a realizar pruebas más fácilmente.
Reloj falso: si su código reacciona de manera diferente según la fecha o la hora, un reloj falso lo ayudará a controlar exactamente qué hora es mientras se ejecuta la prueba.
Mi recomendación para un Framework Javascript que admita todas las características anteriores es Sinon.JS . Como me gusta una qunit como sintaxis y framework, uso qunit AND Sinon.JS. qunit maneja mis afirmaciones y ejecuta mis pruebas. Sinon.JS me da la posibilidad de tropezar, espiar, ejecutar un servidor falso y falsificar el reloj.
3) Apoyo comunitario
¿Su marco de prueba es compatible con la comunidad? Por ejemplo, grunt (una herramienta de entorno de compilación) admite la ejecución de qunit en un servidor PhantomJS sin cabeza: https://github.com/gruntjs/grunt-contrib-qunit . Esto facilita la escritura de pruebas y su ejecución automática cada vez que guardo el archivo de prueba.
¿Es práctico probarlos todos?
No, no es práctico. En su lugar, investigue el sitio web de cada marco y elija uno con el que se sienta cómodo y que también lo respalde durante sus pruebas de escritura.
¿Pasa mucho tiempo leyendo foros / etc sobre cómo se usan?
Coge un libro sobre el marco que elijas y hojealo a medida que lo necesites.