TestContext.TestTempDirectory Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft ein temporäres Verzeichnis, das für den derzeit ausgeführten Test eindeutig ist.
public virtual string? TestTempDirectory { get; }
member this.TestTempDirectory : string
Public Overridable ReadOnly Property TestTempDirectory As String
Eigenschaftswert
Hinweise
Das Verzeichnis wird für den ersten Zugriff (lazily) erstellt und ist für den derzeit ausgeführten Test eindeutig, einschließlich der einzelnen datengesteuerten Fälle einer [DataRow]/[DynamicData] Methode. Da jeder Test (und jeder Datenfall) ein eigenes Verzeichnis erhält, können Tests gleichzeitig ohne Koordination in das Verzeichnis schreiben – auch wenn die Assembly parallel ausgeführt wird.
Dies ist ein *pro Test*-Verzeichnis, sodass sie null bei Zugriff außerhalb eines Tests zurückgegeben wird – z. B. von [AssemblyInitialize], [ClassInitialize], , [ClassCleanup]oder [AssemblyCleanup] – wo kein eigener Test vorhanden ist.
Das Verzeichnis wird automatisch gelöscht, wenn der Test bestanden und beim Testen beibehalten wird, sodass die Artefakte eines fehlgeschlagenen Tests zur Überprüfung verfügbar bleiben. Die Aufbewahrung aller Verzeichnisse (einschließlich bestandener Tests) kann für das Debuggen über die MSTEST_TEST_TEMP_DIRECTORY_RETAIN Umgebungsvariable erzwungen werden. Das Verzeichnis eines bestandenen Tests wird auch beibehalten, wenn der Test eine Datei innerhalb der Datei als Ergebnisanlage AddResultFile(String)registriert, da der Host diese Anlage nach Abschluss des Tests sammelt.
Im Gegensatz zu TestRunDirectory, DeploymentDirectory, ResultsDirectory, TestRunResultsDirectoryund TestResultsDirectory — die für tests für die gesamte Ausführung freigegeben werden — ist dieses Verzeichnis privater Scratch-Speicherplatz, der einem einzigen Test gehört. Verwenden Sie ihn für Dateien, die ein Test während der Ausführung schreiben muss; verwenden Sie die Ergebnisverzeichnisse für Dateien, die als Ausführungsartefakte gesammelt werden sollen.
Auf Windows wird der zurückgegebene Pfad kurz genug gehalten, um ungefähr 80 Zeichen Kopfraum unter dem klassischen MAX_PATH Grenzwert (260) für die Dateien zu reservieren, die der Test selbst schreibt, sodass normale relative Pfade, die darin erstellt wurden, nicht überlaufenMAX_PATH. Das Feature zielt auf den Grenzwert von 260 Zeichen ab und setzt nicht auf die Opt-In für long-Path (LongPathsEnabled / das \\?\ Präfix), die nicht garantiert aktiviert werden kann und häufig nicht von externen Tools berücksichtigt wird. Wenn das Ergebnisverzeichnis der Ausführung zu tief ist, um diesen Kopfbereich beizubehalten oder nicht in das Verzeichnis geschrieben werden kann (z. B. ein schreibgeschütztes Ausgabeverzeichnis), wird das Verzeichnis stattdessen unter dem temporären Systemverzeichnis erstellt.