2009-03-12 2 views
3

verwendet werden muss Ich habe eine Infrastruktur-Bibliothek, die von WinForms und ASP.Net verwendet werden muss.Was ist der beste Ort für mich, umit-Tests für eine Bibliothek zu setzen, die sowohl von ASP.Net und WinForms

Ich möchte dies in einigen Komponententests einpacken.

In welches Projekt stecke ich diese?

Benütze ich einen anderen Ordner in meinem Bibliotheksprojekt? Eine andere Lösung, die nur mein Infrastrukturprojekt und ein separates Einheitentestprojekt enthält?

Übrigens werde ich den ReSharper Test Runner verwenden, wenn das einen Unterschied macht.

Auch diese Bibliothek sitzt auf NHibernate, wenn das auch einen Unterschied macht.

Antwort

6

Ich würde ein separates Projekt erstellen, das nur Ihre Tests enthält. Verweisen Sie Ihr Infrastrukturprojekt vom Testprojekt.

Es macht nicht viel Sinn, Ihren Produktionscode mit Ihren Komponententests zu versenden, auch wenn sie nicht über die Winform- oder Web-Schnittstelle aufgerufen werden.

Ziehen Sie darüber hinaus die Verwendung des MVP-Architekturmusters mit Dependency Injection in Betracht, um Ihre Klassen zu organisieren und Ihren Moderator und andere Komponenten testfreundlicher zu machen.

+0

+1 - schlag mich dazu ... –

0

Fügen Sie Ihre Tests in einem separaten Projekt zusammen, und Sie können dieses Projekt in Ihre WinForms-Lösung und Ihre ASP.NET-Lösung aufnehmen.

0

Ich erstelle nicht nur ein separates Projekt für meine Tests, sondern unterteile sie in separate Projekte für Unit- und Integrationstests.

Auf diese Weise können Sie Ihren Continuous Integration Server so konfigurieren, dass nur die Komponententests beim Einchecken ausgeführt werden, und dann beide Tests für den nächtlichen Build ausgeführt werden.

Verwandte Themen