Lingua

TestContext.TestTempDirectory Proprietà

Definizione

Ottiene una directory temporanea univoca per il test attualmente in esecuzione.

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

Valore della proprietà

Commenti

La directory viene creata al primo accesso (differire) ed è univoca per il test attualmente in esecuzione, incluso ogni caso basato sui dati di un [DataRow]/[DynamicData] metodo. Poiché ogni test (e ogni caso di dati) ottiene la propria directory, i test possono scrivervi contemporaneamente senza alcun coordinamento, anche quando l'assembly viene eseguito in parallelo.

Si tratta di una directory *per test*, quindi restituisce null quando si accede all'esterno di un test, ad esempio da [AssemblyInitialize], [ClassInitialize], [ClassCleanup]o [AssemblyCleanup] , in cui non è presente un singolo test proprietario.

La directory viene eliminata automaticamente quando il test viene superato e conservato quando il test ha esito negativo, quindi gli artefatti di un test non superato rimangono disponibili per l'ispezione. La conservazione di tutte le directory (incluso il superamento dei test) può essere forzata per il debug tramite la MSTEST_TEST_TEMP_DIRECTORY_RETAIN variabile di ambiente. Una directory del test superata viene mantenuta anche quando il test registra un file all'interno di esso come allegato di risultato tramite AddResultFile(String), poiché l'host raccoglie tale allegato dopo il completamento del test.

A differenza di TestRunDirectory, DeploymentDirectoryResultsDirectory, TestRunResultsDirectory, e TestResultsDirectory , che vengono condivisi tra i test per l'intera esecuzione, questa directory è uno spazio di lavoro privato di proprietà di un singolo test. Usarlo per i file che un test deve scrivere durante l'esecuzione; usare le directory dei risultati per i file che devono essere raccolti come artefatti di esecuzione.

In Windows il percorso restituito viene mantenuto sufficientemente breve da riservare circa 80 caratteri di headroom al di sotto del limite classico MAX_PATH (260) per i file scritti dal test stesso, quindi i percorsi relativi ordinari creati all'interno di esso non eseguiranno l'overflowMAX_PATH. La funzionalità è destinata al limite di 260 caratteri e non si basa sul consenso esplicito lungo percorso (LongPathsEnabled / il \\?\ prefisso), che non è garantito per essere abilitato e spesso non viene rispettato dagli strumenti esterni. Se la directory dei risultati dell'esecuzione è troppo profonda per mantenere tale headroom o non può essere scritta in (ad esempio una directory di output di sola lettura), la directory viene creata nella directory temporanea di sistema.

Si applica a