TestContext.TestTempDirectory プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在実行中のテストに固有の一時ディレクトリを取得します。
public virtual string? TestTempDirectory { get; }
member this.TestTempDirectory : string
Public Overridable ReadOnly Property TestTempDirectory As String
プロパティ値
注釈
ディレクトリは最初のアクセス (遅延) で作成され、 [DataRow]/[DynamicData] メソッドの各データ ドリブン ケースを含め、現在実行中のテストに固有です。 すべてのテスト (およびすべてのデータ ケース) が独自のディレクトリを取得するため、アセンブリが並列で実行されている場合でも、テストは調整なしで同時に書き込むことができます。
これは *per-test* ディレクトリであるため、単一の所有テストがない[AssemblyInitialize]、[ClassInitialize]、[ClassCleanup]、[AssemblyCleanup]など、テストの外部からアクセスすると、nullが返されます。
テストに合格するとディレクトリが自動的に削除され、テストが失敗したときに保持されるため、失敗したテストの成果物は検査に使用できます。
MSTEST_TEST_TEMP_DIRECTORY_RETAIN環境変数を使用してデバッグするために、すべてのディレクトリ (テストの受け渡しを含む) の保持を強制できます。 合格テストのディレクトリは、テストがテストの完了後にその添付ファイルを収集するため、 AddResultFile(String)を介して結果の添付ファイルとしてテストがファイルを登録するときにも保持されます。
TestRunDirectory、DeploymentDirectory、ResultsDirectory、TestRunResultsDirectory、TestResultsDirectoryとは異なり、このディレクトリは 1 つのテストによって所有されるプライベート スクラッチ領域です。 テストの実行中に書き込む必要があるファイルに使用します。は、実行成果物として収集する必要があるファイルの結果ディレクトリを使用します。
Windows、返されたパスは、テスト自体が書き込むファイルの従来のMAX_PATH (260) の制限の下でヘッドルームの約 80 文字を予約するのに十分な短さに保持されるため、その中に作成された通常の相対パスはMAX_PATHオーバーフローしません。 この機能は 260 文字の制限を対象としており、長いパスオプトイン (LongPathsEnabled / \\?\ プレフィックス) には依存しません。これは有効であることが保証されておらず、外部ツールでは受け入れられないことがよくあります。 実行の結果ディレクトリが深すぎてそのヘッドルームを保持できない場合、または読み取り専用の出力ディレクトリなどには書き込めない場合は、代わりにシステム一時ディレクトリの下にディレクトリが作成されます。