2008-11-09 5 views
10

Ich bin ein Autodidakt Entwickler und meine Erfahrung ist alles in kleinen Anwendungen, die ich entwickelt habe.Anfänger Einführung in Komponententests in Visual Studio 2008

Ich arbeite gerade an einer Anwendung, die ich öffentlich gemacht habe, und ich habe erkannt, dass ich anfangen muss, gute Unit-Tests zu machen, Regressionen zu fangen und im Allgemeinen sicherzustellen, dass alles funktioniert.

Ich habe auf einem previous question gelesen. Ich würde gerne wissen, ob es irgendwelche online verfügbaren Ressourcen gibt, die spezifisch mit C# -Einheitstests in Visual Studio 2008 arbeiten, vorzugsweise mit Beispielen.

EDIT: Ich verwende Visual Studio 2008 Professional für Windows-Anwendungen, keine Web-Entwicklung.

Antwort

9

Sie geben nicht an, welche flavor of VS2008 Sie verwenden. Wenn es Pro oder höher ist, dann ist MSTest gebündelt, aber viele Leute haben Probleme damit - es ist nicht immer sehr intuitiv, und es braucht viel zu viel Setup, um einfache Dinge wie Coverage/File Deployment zu erledigen.

Eine exemplarische Vorgehensweise ist here. Als Empfehlung empfehle ich VS2008 mit NUnit (kostenlos) und TestDriven.NET (nicht frei) zu verwenden. Es nimmt alle Schmerzen weg, so dass Sie nur einfache Dinge wie schreiben:

[TestFixture] 
public class Foo { 
    [Test] 
    public void Bar() { 
     Assert.AreEqual(2, 1+1); 
    } 
} 

Dann einfach mit der rechten Maustaste (auf der Klasse, auf dem Verfahren, auf das Projekt, auf die Lösung) und die Testmöglichkeiten nutzen Diese TestDriven.NET bietet, einschließlich (wenn Sie MSTest haben) "Test mit -> Team Coverage", die Ihre NUnit-Tests mit den MSTest-Coverage-Tools ausgeführt, einschließlich der Einfärbung zurück in die IDE, um zu zeigen, welche Zeilen ausgeführt. Kein Problem mit "testrunconfig" und den anderen Dateien, die MSTest verwenden möchte.

1

Sie nicht angeben, ob Sie auf Web/Windows-Anwendungen arbeiten, aber wenn Sie Lernen ASP.NET sowie Richard Dingwall hat einige ausgezeichnete Links zu Beispiel asp.net MVC-Anwendungen, die TDD verwenden. Es gibt Beispiele, die nUnit verwenden, sowie Frameworks wie Rhino.Mocks und Moq.

Werfen Sie einen Blick auf seinem Blog-Post hier einige Links:

http://blog.jagregory.com/2007/07/17/getting-with-it-test-driven-development/

Hoffnung dieses:

http://richarddingwall.name/2008/11/02/best-practice-dddtdd-aspnet-mvc-example-applications/

James Gregory hier im Allgemeinen eine ziemlich gute Grundierung auf Unit-Tests geschrieben hilft!

0

Wenn Sie Interesse an mehr als nur normale Komponententests, dann nehmen Sie einen Blick auf PEX

+0

Ich habe gehört, dass Code Contracts und die PEX-Tools Teil von .NET 4.0 sein werden. – MattValerio

0

ich bei Screencasts suchen würde empfehlen, ein Gefühl dafür, wie TDD angewendet wird, zu erhalten.Bei Dnr TV gibt es zwei Episoden mit JP Boodhoo, wo er eine Einführung gibt getriebene Entwicklung zu testen:

Wenn Sie zusammen verwendet werden Unit-Tests und TDD zu sehen, mit einem Ich würde empfehlen, die sceencast Serie Autumn of Agile zu beobachten. Diese Serie zeigt die Entwicklung einer vollständig unitgetesteten Anwendung von Anfang bis Ende.