Debe tener uno (o más) proyectos de prueba de unidad por proyecto de destino. Esta es la única forma en que puede mantenerse flexible y variar el conjunto de pruebas de cada unidad junto con el proyecto objetivo.
Si usted tiene un proyecto de prueba de unidad que cubre más de un proyecto de destino, esto crea un artificial estrecho acoplamiento entre estos dos proyectos, porque no va a ser capaz de compilar el proyecto de prueba de unidad sin la totalidad de sus proyectos de destino. Esto, una vez más, hace que sea realmente difícil probar un solo proyecto de forma aislada, que es de lo que se trata la prueba de la unidad.
Si necesita compartir el código de prueba entre varios objetivos de prueba, siempre puede crear una biblioteca compartida con una API de prueba reutilizable y generalizada, siempre que no haga referencia a ninguno de los proyectos de destino.
Dicho esto, tengo que estar de acuerdo con Jon Skeet en que una solución con 270 proyectos es un olor estructural que debe abordarse primero (a menos que sea una solución de "compilación completa" utilizada para compilaciones automáticas).
1 unidad de proyecto de prueba es el camino a seguir. Intentamos reflejar nuestros proyectos y crear un proyecto de prueba para cada uno: terminó con pruebas rotas. –
No me gusta tenerlos en un proyecto separado porque hace que sea más difícil probar clases internas y métodos. – tster
@Arnis: ¿Por qué? Nunca he encontrado ningún problema con un proyecto de prueba por proyecto de producción. ¿Qué problemas te toparon? –