Los puse en proyectos separados. El nombre de la asamblea refleja el de los espacios de nombres, como regla general para nosotros. Entonces, si hay un proyecto llamado Company.Product.Feature.sln, tiene un resultado (nombre de conjunto) de Company.Product.Feature.dll. El proyecto de prueba es Company.Product.Feature.Tests.sln, que produce Company.Product.Feature.Tests.dll.
desea mantener mejor en una sola solución y controlar la salida a través del Administrador de configuración. Tenemos una configuración con nombre para cada una de las ramas principales (Desarrollo, Integración, Producción) en lugar de utilizar la depuración y publicación predeterminadas. Una vez que tenga configurada la configuración, puede incluirla o excluirla haciendo clic en la casilla de verificación "Generar" en Configuration Manager. (Para obtener Configuration Manager, haga clic con el botón derecho en la solución y vaya a Configuration Manager). Tenga en cuenta que, en ocasiones, creo que el CM en Visual Studio tiene errores. En un par de ocasiones, tuve que ir al proyecto o a los archivos de la solución para limpiar los objetivos que creó.
Además, si está utilizando Generar equipo (y estoy seguro de que otras herramientas .NET empleados son de la misma) a continuación, puede asociar la construcción con una configuración llamada. Esto significa que si no construyes las pruebas de tu unidad para tu compilación de "Producción", por ejemplo, el proyecto de compilación también puede tener en cuenta esta configuración y no construirlas ya que fueron marcadas como tales.
Además, solíamos hacer XCopy se cae de la máquina de compilación. La secuencia de comandos simplemente omitirá copiar algo llamado * .Tests.Dll de desplegarse. Fue simple, pero funcionó.
IMO, los contras su lista no son siempre aplicables. Un profesional para el mismo proyecto es la agrupación más fácil de las pruebas de clase + probadas: estas pequeñas comodidades son fundamentales para escribir pruebas. Las preferencias personales ganan aquí, y algunas veces tus puntos son relevantes, pero no todo el tiempo. – orip
, pero ¿cómo se eliminan estos proyectos cuando se desea enviar – leora
? Primero debe preguntar si necesita eliminar las pruebas al enviar. Si es así, necesitas un proyecto separado. Si no, usa los otros pros y contras para decidir. Las personas que asumen que no pueden implementar las pruebas siempre llegarán a la conclusión de "proyecto separado" de forma predeterminada. – orip