Język

TestContext.TestTempDirectory Właściwość

Definicja

Pobiera katalog tymczasowy unikatowy dla aktualnie wykonywanego testu.

public virtual string? TestTempDirectory { get; }
member this.TestTempDirectory : string
Public Overridable ReadOnly Property TestTempDirectory As String

Wartość właściwości

Uwagi

Katalog jest tworzony przy pierwszym dostępie (leniwie) i jest unikatowy dla aktualnie wykonywanego testu, w tym każdego przypadku opartego [DataRow]/[DynamicData] na danych metody. Ponieważ każdy test (i każdy przypadek danych) pobiera własny katalog, testy mogą zapisywać je współbieżnie bez żadnej koordynacji — nawet wtedy, gdy zestaw działa równolegle.

Jest to katalog *na test*, dlatego jest zwracany null podczas uzyskiwania dostępu poza testem — na przykład z [AssemblyInitialize], [ClassInitialize], [ClassCleanup]lub [AssemblyCleanup] — jeśli nie ma jednego testu.

Katalog jest usuwany automatycznie, gdy test przejdzie pomyślnie i zostanie zachowany, gdy test zakończy się niepowodzeniem, więc artefakty testu, które zakończyły się niepowodzeniem, pozostaną dostępne do inspekcji. Przechowywanie wszystkich katalogów (w tym testów z przekazywaniem) można wymusić na debugowanie za pośrednictwem zmiennej środowiskowej MSTEST_TEST_TEMP_DIRECTORY_RETAIN . Katalog testu z wynikiem jest również zachowywany, gdy test rejestruje wewnątrz niego plik jako załącznik wynikowy za pośrednictwem AddResultFile(String)metody , ponieważ host zbiera ten załącznik po zakończeniu testu.

W przeciwieństwie do TestRunDirectoryelementów , DeploymentDirectory, ResultsDirectory, TestRunResultsDirectoryi TestResultsDirectory — które są współużytkowane przez testy dla całego przebiegu — ten katalog jest prywatnym miejscem tymczasowym należącym do jednego testu. Użyj go w przypadku plików, które test musi zapisywać podczas wykonywania; użyj katalogów wyników dla plików, które powinny być zbierane jako artefakty uruchamiania.

Na Windows zwracana ścieżka jest wystarczająco krótka, aby zarezerwować około 80 znaków przestrzeni dyskowej w ramach klasycznego MAX_PATH (260) limitu dla plików, które sam test zapisuje, więc zwykłe ścieżki względne utworzone wewnątrz niego nie przepełnią MAX_PATHsię . Funkcja jest przeznaczona dla limitu 260 znaków i nie opiera się na opcji długiej ścieżki ( /LongPathsEnabled\\?\ prefiks), który nie ma gwarancji włączenia i często nie jest honorowany przez narzędzia zewnętrzne. Jeśli katalog wyników przebiegu jest zbyt głęboki, aby zachować ten nagłówek lub nie można go zapisać (na przykład katalogu wyjściowego tylko do odczytu), katalog zostanie utworzony w katalogu tymczasowym systemu.

Dotyczy