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 ?
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.
Tags und Links c# visual-studio-2010 build c#-4.0 copy