2010-03-30 24 views
8

Estoy pensando en dónde colocar el proyecto de unidad/prueba de integración. Sigo el proyecto de prueba 1 pr. Proyecto de ConvencionesDónde ubicar el proyecto de prueba de unidad

puedo pensar en 3 formas, que todo parece bien a mí, que lo hacen un poco difícil para elegir :-)

  1. proyecto de prueba es sometido a pruebas una subcarpeta con el proyecto se pruebas.
  2. proyecto de prueba se pone junto al proyecto que pone a prueba, en un "proyecto" carpeta .Tests. Creo que esto es lo que Roy Osherove recomienda.
  3. Coloque todos los proyectos de prueba en una subcarpeta en la raíz. p.ej. \ Tests \ "project" .Tests
  4. ¿Algo más?

Lo que usted elija y por qué?

Respuesta

1

me gustaría ir con # 1, de modo que cuando se hace un pago y envío del proyecto, que tiene las pruebas también. De lo contrario, las pruebas se convierten aún más en una ocurrencia tardía.

3

me gusta tener todos los proyectos en el mismo nivel físicamente. No tengo un gran argumento, solo por simplicidad. Después de todo Visual Studio muestra todos los proyectos en el mismo nivel.

.../Project/Project.Web/ 
.../Project/Project.Model/ 
.../Project/Project.DataAccess/ 
.../Project/Project.UnitTest/ 
etc
4

La opción 2 es la preferida. Aparte de todo lo demás, es solo lo predeterminado cuando se crea un nuevo proyecto de biblioteca de clases: está bajo el mismo directorio de soluciones que los proyectos de producción.

Para contrarrestar el argumento acerca de la comprobación a cabo un proyecto sin sus pruebas, creo que es relativamente raro para ver sólo un proyecto en lugar de una solución de conjunto. Si es un taller más "basado en proyectos" que "basado en soluciones", eso podría cambiar las cosas.

proyecto de prueba
2

se pone al lado del proyecto pone a prueba, en un .Tests "Proyecto" carpeta. Creo que esto es lo que recomienda Roy Osherove.

Este es mi favorito personal. Es el que transmite más claramente la intención, y también hace que sea fácil ver a simple vista qué proyectos de prueba corresponden a qué proyectos si los estás mirando dentro de un directorio, o si tienes algún motivo para agrupar proyectos en una única solución.

0

El valor predeterminado en una solución Visual Studio 2010 Asp.Net MVC es un proyecto diferente dentro de la misma solución. Esto es de gran ayuda cuando se trata de probar la compilación con todas sus referencias.

0

Creo que la opción 2 es la mejor opción. Las pruebas son una excelente forma de documentar el código. Ellos dejan en claro la semántica de los métodos y las clases. Debería ser fácil para un programador saltar al código de prueba por algún método que le parezca dudoso.

Por otro lado, mantener el código de prueba en el mismo proyecto puede hacer que la salida binaria compilada sea más grande y forzar al proyecto a tener dependencias necesarias solo por el código de prueba.

Cuestiones relacionadas