unitarias unit tutorial test pruebas assoc php unit-testing codeigniter tdd bdd

php - unit - uri assoc codeigniter



Cómo iniciar TDD/BDD PHP CodeIgniter (1)

He estado leyendo sobre TDD / BDD desde hace bastante tiempo, pero nunca pude averiguar cómo implementarlo en un proyecto.

Esta es una versión simplificada del proyecto en el que estoy trabajando actualmente:
Un sitio web que permite a las personas registrarse, publicar libros usados ​​para la venta. Las personas que necesitan estos libros pueden buscar libros publicados para la venta en las cercanías y enviar un mensaje de correo electrónico al vendedor a través del sitio web.

Esto se está escribiendo en CodeIgniter conmigo como el único desarrollador que trabaja en él. Para este escenario, ¿podría decirme cómo procedería exactamente con las pruebas? ¿Por dónde empezar y qué se probaría?

Hace tiempo que quería hacer esto, entiendo el concepto, pero la implementación real me elude, ¡muchas gracias!


El probador de unidades que se envió con la última versión de CI que utilicé era pobre, solo comprobó si era verdadero o no.

Encontré este interesante proyecto que parecía mantenerse hasta el año pasado al menos:

http://jensroland.com/projects/toast/

Tal vez haya algo allí para ayudarlo a comenzar, tal vez en los archivos léame; si no, aquí está la publicación original de la que parece haber surgido esta idea.

http://codeigniter.com/forums/viewthread/76703

Puede comenzar comprobando que sus modelos traigan un conjunto de valores esperados. es decir, es cierto que "obtener los primeros 10 libros" en realidad trae de vuelta 10 registros; esto significa configurar una base de datos de prueba, y poder configurar (llenar con datos de prueba) y derribar esa base de datos a voluntad. Es un poco complicado, pero en una situación de MVC cuando comienzas con TDD, puede ser lo más sencillo.

TDD (es decir, la idea de desarrollar prueba / código en ese orden) tiene más sentido cuando crea sus propias clases, lo que podría pensar como "ayudantes" en una configuración típica de CI.