Ich habe eine Lösung, die eine Konsolenanwendung und einen Komponententest hat.
%Vor%Der Validator befindet sich im Konsolenanwendungsprojekt, während sich meine Datei.xml im Ordner innerhalb des Komponententestprojekts befindet.
Dieser Komponententest wird erfolgreich ausgeführt. Ich möchte jedoch sicherstellen, dass mein targetFile nach dem Einchecken in meinem tfs oder Build-Server immer noch gefunden werden kann.
Wie soll ich den Pfad der Zieldatei ändern?
Vielen Dank im Voraus!
Wenn ich Ihr Problem richtig verstanden habe, ist es nicht gut, dass der Produktcode (in der Konsolenanwendung) von einem Artikel im Testprojekt abhängt. Daher empfehle ich Ihnen, file.xml
in das Produktcode-Projekt zu verschieben.
Um Ihr Pfadproblem zu lösen, ist der beste Ansatz, die Eigenschaft In Ausgabeverzeichnis kopieren als Immer kopieren oder Wenn neuere kopieren , die Sie im Fenster VS-Eigenschaften finden können.
Sehen Sie sich die folgenden Schritte an.
file.xml
in das Produktprojekt (z. B. Datenordner) einzufügen. file.xml
in den Ordner. file.xml
. Erstellen und führen Sie Unit-Tests als
durch %Vor% In diesem Fall erstellt VS automatisch den Datenordner mit file.xml
unter dem Ausgabeordner des Testobjekts.
Der einfachste Weg ist, dass MS Unit Test ein [DeploymentItem]
im Test der Unit-Test-Klasse verwendet. Weitere Informationen finden Sie Ссылка . Auch Wie kann ich ein Datendatei in einem VS 2008 Unit-Test?
Die Position von Validator
sollte nicht relevant sein. Jeder relative Pfad sollte relativ zu dem Verzeichnis sein, in dem Ihre Testanwendung ausgeführt wird. Legen Sie also targetFile
als relativen Pfad von dort fest.
Stellen Sie dann sicher, dass Sie Ihre Tests von demselben relativen Speicherort auf dem Bulid-Server wie auf Ihrem Dev-Computer ausführen.
Bonus-Tipp: Verwenden Sie Assert.IsTrue(actual);
Tags und Links tfs c# unit-testing