Lenguaje

TestContext.TestTempDirectory Propiedad

Definición

Obtiene un directorio temporal único para la prueba que se está ejecutando actualmente.

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

Valor de propiedad

Comentarios

El directorio se crea en el primer acceso (diferida) y es único para la prueba que se está ejecutando actualmente, incluido cada caso controlado por datos de un [DataRow]/[DynamicData] método. Dado que cada prueba (y cada caso de datos) obtiene su propio directorio, las pruebas pueden escribir en ella simultáneamente sin ninguna coordinación, incluso cuando el ensamblado se ejecuta en paralelo.

Se trata de un directorio *por prueba*, por lo que devuelve null cuando se accede fuera de una prueba ( por ejemplo, desde [AssemblyInitialize], [ClassInitialize], [ClassCleanup]o [AssemblyCleanup] ), donde no hay ninguna prueba propietaria.

El directorio se elimina automáticamente cuando se supera la prueba y se conserva cuando se produce un error en la prueba, por lo que los artefactos de una prueba con error permanecen disponibles para su inspección. La retención de todos los directorios (incluidas las pruebas superadas) se puede forzar para la depuración a través de la variable de MSTEST_TEST_TEMP_DIRECTORY_RETAIN entorno. El directorio de una prueba superada también se conserva cuando la prueba registra un archivo dentro de él como datos adjuntos de resultado a través AddResultFile(String)de , ya que el host recopila esos datos adjuntos una vez completada la prueba.

A diferencia TestRunDirectoryde , DeploymentDirectory, ResultsDirectory, TestRunResultsDirectoryy TestResultsDirectory , que se comparten entre pruebas para toda la ejecución, este directorio es un espacio de cero privado que pertenece a una sola prueba. Úselo para archivos que una prueba necesita escribir durante la ejecución; use los directorios de resultados para los archivos que se deben recopilar como artefactos de ejecución.

En Windows la ruta de acceso devuelta se mantiene lo suficientemente corta como para reservar aproximadamente 80 caracteres de espacio de cabeza bajo el límite clásico MAX_PATH (260) para los archivos que escribe la propia prueba, por lo que las rutas de acceso relativas normales creadas dentro de ella no desbordarán MAX_PATH. La característica tiene como destino el límite de 260 caracteres y no se basa en la participación de ruta de acceso larga (LongPathsEnabled / el \\?\ prefijo), que no se garantiza que esté habilitado y a menudo no se respeta por las herramientas externas. Si el directorio de resultados de la ejecución es demasiado profundo para conservar esa sala principal o no se puede escribir en (por ejemplo, un directorio de salida de solo lectura), el directorio se crea en el directorio temporal del sistema en su lugar.

Se aplica a