Bewährte Methode zum Verwenden von Testdateien / -verzeichnis in C # -Testprojekten von Visual Studio 2010

8

Ich habe ein Testprojekt in einer Visual Studio 2010-Lösung, die ein anderes Projekt testet, bei dem es sich um ein FTP-Dienstprogramm handelt. Das Testprojekt muss Dateien hier und da per FTP übertragen, also verwende ich eine Testdatei, um die Methoden der Dienstprogramme zu überprüfen und zu überprüfen, ob sie hochgeladen / archiviert werden / etc. In meinem Testprojekt habe ich einen Ordner namens "TestFiles" mit einer einzigen TXT-Datei. Ich möchte, dass wenn jemand die Lösung aus der Quellcodeverwaltung auscheckt und die Komponententests ausführt, dass die Datei in diesem Ordner erfasst und in den FTP-Komponententests verwendet wird.

Ich habe versucht, dies und Variationen in der Befehlszeile nach dem Build-Ereignis zu verwenden, aber ohne Glück:

%Vor%

Alles, was ich wirklich tun möchte, ist sicherzustellen, dass ich einen relativen Pfad für alle lokalen Testdateien verwenden kann, damit ich keine Probleme habe, egal wo jemand in meinem Team das Projekt überprüft (oder wenn Team Foundation Server führt einen automatisierten Build aus und feuert die Komponententests für mein Projekt ab.

Ich versuche gerade in meinen Unit-Tests auf die Datei zuzugreifen, so dass ich sie einfach aus dem Debug-Bereich herausgeholt habe:

%Vor%

Also, ist das der richtige Weg, um eine Testdatei zu bekommen? Ich denke nicht, aber ich kann kein gutes Best-Practice-Dokument finden. Wenn es gut genug ist, wie kopiert / garantiert man einen relativen Speicherort, egal wo das Projekt erstellt / ausgeführt wird ?

    
Ryan Hayes 27.01.2011, 20:55
quelle

4 Antworten

7

Die empfohlene Vorgehensweise besteht darin, das Attribut "DeploymentItem" für jedes Element zu verwenden, das während des MSTest-Prozesses automatisch erstellt werden muss.

Es gibt eine Reihe von Schritten, von der Definition der Elemente bis hin zur Sicherstellung, dass jede Datei die richtigen Eigenschaften hat, bla bla bla. Also habe ich eine schöne Anleitung geschrieben, wie man das macht.

Have Lesen Sie eine detaillierte Beschreibung dazu .

    
Pure.Krome 27.01.2011, 21:06
quelle
1

Sie können DeploymentItemAttribute, Ссылка verwenden .

    
sarvesh 27.01.2011 21:01
quelle
1

Fügen Sie die Datei in Ihr Projekt ein und legen Sie ihre Eigenschaften auf Inhalt und Kopie wenn neu fest. Es wird sowohl beim Debuggen als auch beim Release in das Verzeichnis build / run kopiert.

    
Decker97 27.01.2011 21:04
quelle
0

Hi Ich habe das selbe Problem und habe Ressourcen benutzt. Ich habe TestFiles.resx in meinem Testprojekt erstellt, als nächstes habe ich Dateien hinzugefügt. Und in Testeinheiten habe ich zum Beispiel TestFiles.SomeFile und ich konnte Pfade usw. vergessen.

    
marcinn 27.01.2011 21:07
quelle