Um Ihre Frage zu beantworten, ich habe Informationen aus einigen Quellen gesammelt:
(Ich glaube, dass die zweite Quelle hat einen Fehler in dem die Lage des TestRunResultsDirectory
und TestResultsDirectory
vertauscht.)
Wenn Visual Studio Tests ausführt, werden mehrere Ordner erstellt.
Base-Ordner
Der Test Basisordner wird mit dieser Vorlage mit dem Namen:
TestResults\Deploy_<user name> <timestamp>
Wenn Sie Vorbereitungs- und Aufräum Skripte in einer .testsettings
-Datei angeben, dieser Ordner diese Skripte enthält. In der Datei .testsettings
können Sie auch den Namen des Ordners ändern.
Out-Ordner
Der Basisordner enthält einen Ordner mit dem Namen Out
. Der Ordner Out
ist der tatsächliche Bereitstellungsordner, in den Assemblys und andere Bereitstellungsdateien beim Start des Testlaufs kopiert werden.
Wenn Sie auf eine Ihrer bereitgestellten Dateien verweisen müssen, sollten Sie diesen Ordner verwenden.
In Ordner
Code-Coverage-Ergebnisse und andere Testergebnisse sind in der In
im Basis Ordner benannten Ordner gespeichert.
Wenn Sie dem Testergebnis eine Datei mit der Methode TestContext.AddResult()
hinzufügen, sollte die Datei in diesem Ordner gespeichert werden. (Ich habe nicht diese Behauptung selbst verifiziert als Testergebnisse gespeichert werden, wenn Microsoft Test Manager und während TFS bauen, nicht bei Tests in Visual Studio ausgeführt wird.)
In \ <Maschinenname> Ordner
Ein maschinenspezifischer Ordner wird als Unterordner des Ordners In
erstellt. Wenn Sie während des Testlaufs temporäre Dateien erstellen müssen, sollten Sie diesen Ordner verwenden. Hier
ist eine Tabelle, die erklärt, wie TestContext
Eigenschaften zu den Ordnern Karte oben beschrieben:
Property | Value
---------------------------------------+---------------------------
TestRunDirectory | Base folder
DeploymentDirectory | Out folder
ResultsDirectory, TestResultsDirectory | In folder
TestRunResultsDirectory | Machine specific In folder
Wenn alle Tests erfolgreich sind, dann werden die Ordner standardmäßig gelöscht. Um dieses Verhalten zu ändern, können Sie eine .runsettings
Datei auf Ihre Lösung mit folgendem Inhalt hinzufügen:
<RunSettings>
<MSTest>
<DeleteDeploymentDirectoryAfterTestRunIsComplete>False</DeleteDeploymentDirectoryAfterTestRunIsComplete>
</MSTest>
</RunSettings>
Um tatsächlich nutzen diese .runsettings
Datei erhalten Sie folgende Menüauswahl in Visual Studio 2015 verwenden müssen: -Test>Testeinstellungen>Wählen Sie Testeinstellungsdatei. Wenn Sie das Testgerät der ReSharper-Einheit verwenden, werden die Einstellungen unter Werkzeuge>Komponententests>MsTest im Dialogfeld ReSharper-Optionen festgelegt.
[...] wenn ich Datei zu testen bin I/O würde alle diejenigen in Ordnung sein, wenn ich eine temporäre Lorem ipsum-Datei erstellen will?
Ja, Sie sollten TestRunResultsDirectory
für temporäre Dateien verwenden. Eigentlich sollten Sie in der Lage sein, einen dieser Ordner beim Komponententest in Visual Studio zu verwenden. Bei Remote-Tests und dem Sammeln von Diagnosedaten kann es jedoch wichtig sein, diesen Ordner zu verwenden.
Ich habe darüber nachgedacht, über die In
und Out
Namen, die ich verwirrend finden. Wenn Sie jedoch die Perspektive eines Testcontrollers annehmen, ist es sinnvoll, dass die Tests unter Out
(Testcontrollerausgang) ausgeführt werden und nach Abschluss der Tests die Ergebnisse aus dem Ordner In
(Testcontrollereingang) gesammelt werden. Dies ist natürlich reine Spekulation.