Idioma

TestContext.TestTempDirectory Propriedade

Definição

Obtém um diretório temporário exclusivo para o teste em execução no momento.

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

Valor da propriedade

Comentários

O diretório é criado no primeiro acesso (preguiçosamente) e é exclusivo do teste em execução no momento, incluindo cada caso controlado por dados de um [DataRow]/[DynamicData] método. Como cada teste (e cada caso de dados) obtém seu próprio diretório, os testes podem gravar nele simultaneamente sem nenhuma coordenação , mesmo quando o assembly é executado em paralelo.

Esse é um diretório *por teste*, portanto, ele retorna null quando acessado fora de um teste , por exemplo, de [AssemblyInitialize], [ClassInitialize]ou [ClassCleanup][AssemblyCleanup] — em que não há nenhum teste proprietário único.

O diretório é excluído automaticamente quando o teste é aprovado e mantido quando o teste falha, portanto, os artefatos de um teste com falha permanecem disponíveis para inspeção. A retenção de todos os diretórios (incluindo a aprovação de testes) pode ser forçada para depuração por meio da variável de MSTEST_TEST_TEMP_DIRECTORY_RETAIN ambiente. O diretório de um teste aprovado também é mantido quando o teste registra um arquivo dentro dele como um anexo de resultado, AddResultFile(String)pois o host coleta esse anexo após a conclusão do teste.

Ao contrário TestRunDirectoryde , DeploymentDirectory, ResultsDirectorye TestResultsDirectoryTestRunResultsDirectory— que são compartilhados entre testes para toda a execução — esse diretório é um espaço de zero privado de propriedade de um único teste. Use-o para arquivos que um teste precisa gravar durante a execução; use os diretórios de resultados para arquivos que devem ser coletados como artefatos de execução.

Em Windows o caminho retornado é mantido curto o suficiente para reservar cerca de 80 caracteres de espaço na cabeça sob o limite clássico MAX_PATH (260) para os arquivos que o próprio teste grava, de modo que caminhos relativos comuns criados dentro dele não estourarãoMAX_PATH. O recurso tem como destino o limite de 260 caracteres e não depende da aceitação de caminho longo (LongPathsEnabled /o \\?\ prefixo), que não tem garantia de ser habilitado e muitas vezes não é respeitado por ferramentas externas. Se o diretório de resultados da execução for muito profundo para preservar esse espaço na cabeça ou não puder ser gravado (por exemplo, um diretório de saída somente leitura), o diretório será criado no diretório temporário do sistema.

Aplica-se a