2011-10-06 7 views
7

Estoy comenzando un nuevo proyecto donde tengo que crear y manipular múltiples archivos de Excel basados ​​en algunos datos en un databse de Oracle. Quiero aprender y aplicar metodologías TDD/BDD en este proyecto para mejorar mis hábitos de programación y el proyecto en sí.Cómo aplicar la metodología TDD/BDD para crear archivos de Excel desde C# usando datos de una base de datos Oracle

Sin embargo, no estoy seguro de qué debo hacer ¿Dónde debo comenzar? Estoy buscando alguna guía o hoja de ruta para asegurarme de que estoy aplicando los conceptos correctamente.

¿Qué debo verificar? Si no puedo instalar algunas herramientas DI o Mock, ¿tengo alguna posibilidad de crear correctamente un enfoque TDD/BDD?

La razón por la que digo que podría no ser capaz de instalar el software, es porque no todo el software está permitido en la empresa.

Hasta ahora he instalado nUnit. No estoy seguro de si necesito otras herramientas o marcos de código/bibliotecas.

Gracias.

Respuesta

1

IMO, si es un principiante y desea aprender TDD y BDD, este podría no ser el mejor proyecto para comenzar.

TDD y BDD funcionan muy bien cuando se trata de objetos. Cuanto más lejos se encuentre de los objetos, más complejo se vuelve, porque se trata de dependencias externas que son dolorosas para evaluar. Tanto un archivo de BD como de Excel serían buenos ejemplos de eso. Si bien es bastante sencillo crear una instancia de un objeto de prueba, establecerlo en un estado conocido y verificar su estado después de algunas operaciones, lo mismo es complejo con, por ejemplo, un DB: necesita usar un DB real, configurar su estado y escriba un código adicional para verificar su estado (que es más un enfoque de prueba de integración), o use Mocks, que puede no ser la técnica más fácil para comenzar.

Mi consejo para comenzar sería centrarse en las partes de su aplicación que se ocupan estrictamente de los objetos. En ese contexto, NUnit y un marco de Mocking como Moq son en gran medida suficientes.

+0

Gracias por mencionar que este no es el mejor proyecto para comenzar con TDD/BDD. Estaba bajo la misma impresión (y usted lo confirmó) ya que la mayoría de los artículos y muestras que he visto están más orientados a objetos. No estoy escogiendo este proyecto como un punto de aprendizaje para TDD/BDD, pero tengo que hacer el proyecto y pensé que trataría de hacer algo de BDD/TDD al mismo tiempo. –

+0

Creo que usar TDD en este proyecto no puede doler, pero no será el más fácil. Me centraría en la pieza central de tu aplicación: dado que tienes algunos datos, que obtuviste de la base de datos, los encapsula en objetos y los traduce en acciones, encapsulados en objetos nuevamente, para realizarlos en el archivo de Excel. Esa parte será fácil de probar, porque puede validar el comportamiento con objetos y tener un diseño desacoplado de la forma en que se almacenan sus datos. La parte difícil, a nivel TDD, sería verificar que está obteniendo los datos correctos de la base de datos y el archivo de Excel correcto dado su objeto de salida. – Mathias

1

Me gustaría ver las bibliotecas mspec a través de NuGet.

Cuestiones relacionadas