should length equal array javascript unit-testing testing frameworks

javascript - length - mocha js



Contexto agnóstico JavaScript Testing Framework (7)

Estoy buscando un marco de prueba de JavaScript que pueda usar fácilmente en cualquier contexto, ya sea navegador, consola, XUL, etc.

¿Existe tal marco, o una forma de adaptar fácilmente un marco existente, por lo que su contexto es agnóstico?

Editar: El marco de prueba no debe vincularse a ningún otro marco como jQuery o Prototype.js y no debe depender de que esté presente un DOM (u objeto de documento). Estoy buscando algo para probar JavaScript puro .



es posible que desee comprobar YUI Test . Debería funcionar bien sin un DOM.


OK, aquí hay algo que acabo de preparar basado en algún trabajo anterior. Espero que esto satisfaga tus necesidades.

jsUnity

Marco de prueba de JavaScript universal liviano

jsUnity es un marco de prueba universal liviano de JavaScript que es independiente del contexto. No depende de ninguna capacidad del navegador y, por lo tanto, se puede ejecutar dentro de HTML, ASP, WSH o cualquier otro contexto que use JavaScript / JScript / ECMAScript.

Uso de muestra dentro de HTML

<pre> <script type="text/javascript" src="../jsunity.js"></script> <script type="text/javascript"> function sampleTestSuite() { function setUp() { jsUnity.log("set up"); } function tearDown() { jsUnity.log("tear down"); } function testLessThan() { assertTrue(1 < 2); } function testPi() { assertEquals(Math.PI, 22 / 7); } } // optionally wire the log function to write to the context jsUnity.log = function (s) { document.write(s + "</br>"); }; var results = jsUnity.run(sampleTestSuite); // if result is not false, // access results.total, results.passed, results.failed </script> </pre>

El resultado de lo anterior:

2 tests found set up tear down [PASSED] testLessThan set up tear down [FAILED] testPi: Actual value does not match what''s expected: [expected] 3.141592653589793, [actual] 3.142857142857143 1 tests passed 1 tests failed


También hay JSpec

JSpec es un marco de prueba extremadamente pequeño pero muy poderoso. Utilizando su propia gramática y preprocesador personalizados, JSpec puede operar de formas que ningún otro marco de prueba de JavaScript puede. Esto incluye muchos literales de taquigrafía útiles, una sintaxis muy intuitiva / legible, así como prototipos de objetos centrales no contaminantes.

JSpec también se puede ejecutar de varias maneras, como a través del terminal con soporte de Rhino, a través de navegadores que usan los formateadores DOM o Console, o finalmente mediante el marco de prueba Ruby JavaScript que ejecuta navegadores en segundo plano, informando a la terminal .


Jasmine se ve interesante.

Según los desarrolladores, fue escrito porque ninguno de los otros frameworks de pruebas JS satisfacía todas sus necesidades en una sola oferta y no requería cosas como DOM, jQuery, o el objeto window es uno de los puntos de diseño explícitos.

Estoy pensando en usarlo con env.js y Rhino / SpiderMonkey / V8 / etc. para escribir pruebas del lado del cliente para mis aplicaciones web que se pueden ejecutar fácilmente en las mismas situaciones que las pruebas de la unidad Python. ( setup.py test setup.py, BuildBot, etc.)



¿ JsUnit es de ayuda? Está diseñado para ejecutarse en un navegador, pero parece relativamente abstracto.