QUnit Vs. Jasmine y TDD Vs. BDD


He estado buscando en dos bibliotecas para hacer pruebas unitarias en el front-end.

  • QUnit - http://qunitjs.com/

  • Jazmín - http://jasmine.github.io/

    1. Jasmine está claramente más enfocado BDD que QUnit aunque podría ver cómo se hace BDD con QUnit describiendo las pruebas de una manera orientada al comportamiento. Ambos son capaces de ejecutar aserciones en unidades de código para Creo que ambos son pruebas unitarias. ¿Es BDD mutuamente excluyente de TDD o está todo en cómo lo escribes?

    2. ¿Es necesaria la prueba unitaria si estás haciendo pruebas de comportamiento? Parece que si cubre todas las historias de usuario, realmente no necesita conocer los detalles de las unidades comprobables.

    3. ¿Hay otros marcos de prueba que te gusten? Hay otras pruebas además de las pruebas unitarias que son buenas para los desarrolladores para hacer en el ¿front-end?

Author: WolfyUK, 2013-08-10

2 answers

  1. BDD y TDD no son mutuamente excluyentes. Ver El post de Liz Keogh

  2. Las pruebas de comportamiento deben ser comprensibles para las partes interesadas del negocio. Las pruebas unitarias suelen ser entendidas por los miembros del equipo técnico (desarrolladores, probadores, etc.).). Para ver ejemplos de cómo hacer que las pruebas unitarias sean más legibles, debería mirar el libro GOOS (aunque los ejemplos son Java no Javascript).

    Además, si intenta cubrir todas las rutas de prueba usando BDD, su la gente de negocios se aburrirá y dejará de preocuparse.

  3. Echa un vistazo a Pepino-JS (un puerto de Pepino ).

 18
Author: Seb Rose,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-12 16:45:58

Si estás buscando pruebas de escritura que involucren interacciones DOM, echaría un vistazo a pageboy.js . Este es un nuevo proyecto que proporciona un Lenguaje Específico de Dominio (DSL) para las interacciones DOM de Javascript (un poco como Capybara que se usa dentro de Cucumber en Ruby), que está destinado a hacer que el código de prueba sea más legible.

Hay más en el fondo de este DSL aquí.

 -1
Author: IainJMitchell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-14 08:36:41