Sie sollten ein (oder mehrere) Unit Test-Projekte pro Zielprojekt haben. Nur so können Sie flexibel bleiben und jede Unit-Testsuite mit dem Zielprojekt variieren.
Wenn Sie ein Komponententestprojekt für mehr als ein Zielprojekt haben, wird zwischen diesen beiden Projekten eine künstliche enge Kopplung erstellt, da Sie das Komponententestprojekt nicht ohne alle Zielprojekte kompilieren können. Dies macht es wiederum sehr schwierig, ein einzelnes Projekt isoliert zu testen - und das ist alles, was man testen kann.
Wenn Sie Testcode für mehrere Testziele freigeben möchten, können Sie immer eine gemeinsam genutzte Bibliothek mit einer verallgemeinerten, wiederverwendbaren Test-API erstellen, sofern sie keines der Zielprojekte referenziert.
Das heißt, ich muss Jon Skeet zustimmen, dass eine Lösung mit 270 Projekten ein struktureller Geruch ist, der zuerst angegangen werden muss (es sei denn es handelt sich um eine "Build All" -Lösung für automatisierte Builds).
1 Einheit Testprojekt ist der Weg zu gehen. Wir haben versucht, unsere Projekte zu spiegeln und für jedes Testprojekt ein Testprojekt zu erstellen. –
Ich mag es nicht, sie in einem separaten Projekt zu haben, weil es es schwieriger macht, interne Klassen und Methoden zu testen. – tster
@Arnis: Warum? Ich habe nie ein Problem mit einem Testprojekt pro Produktionsprojekt gefunden. Mit welchen Problemen sind Sie konfrontiert worden? –