2016-04-11 13 views
2

Dies sind die (nicht mehr unterstützt) Verzeichnisse in TestContext Klasse und their respective definitions definiert.Welchen Zweck haben die von TestContext definierten Verzeichnisse?

DeploymentDirectory

  • Ruft das Verzeichnis für Dateien für den Testlauf im Einsatz. Diese Eigenschaft enthält typischerweise ein Unterverzeichnis von TestRunDirectory.

ResultsDirectory

  • Ruft die Top-Level-Verzeichnis, das Testergebnisse und Testergebnis Verzeichnisse für den Testlauf enthält. Dies ist typischerweise ein Unterverzeichnis von TestRunDirectory.

TestResultsDirectory

  • Ruft das Verzeichnis für die Testergebnis-Dateien.

TestRunDirectory

  • Ruft die Top-Level-Verzeichnis für den Testlauf, die bereitgestellt Dateien und Ergebnisdateien enthält.

TestRunResultsDirectory

  • Ruft die Top-Level-Verzeichnis für den Testlauf Ergebnisdateien. Diese Eigenschaft enthält normalerweise ein Unterverzeichnis ResultsDirectory.

Ich finde sie ganz eindeutig. Gibt es eine solide Beispielverwendung für jedes Verzeichnis? Z.B. wenn ich Datei, die mich testen ist/O würde alle diejenigen sein, in Ordnung, wenn ich eine temporäre Lorem ipsum-Datei erstellen will?

Antwort

1

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.

Verwandte Themen