ファイルを作成する単体テストの作成中です。MSTest:TestContextを使用した単体テストの作成
現在、私はTestContext
TestResultsDirectoryを使用して、作成したファイル(アサートする結果)を保存しています。構文は次のようになります。
私の質問は基本的になぜTestResultsDirectory
が作成されていないのですか?
File.Create
を呼び出すと、テストはDirectoryNotFoundException
で失敗します。
これはTestContext
を使用する正しい方法ですか、などの属性があり、ランタイムが「テスト関連」パスを作成するようにメソッドレベルで設定できますか?
ユニットテストは単独で実行され、データベース、システムクロック、ファイルシステムなどの外部リソースとは通信しないため、技術的には「ユニットテスト」は作成されません。 – Steven
概念的にはい、あなたは正しいです。このテストでは、テキストファイルを更新し、テキストファイルが正しいことを確認します。監査の目的で、 "変更"がファイルに格納されていることを確認する必要があります。テストコンテキストは実行時に生成されるため、テストは任意の開発者(テストコンテキストを選択するためのキー)で実行できます。テストコンテキストが、存在しないディレクトリへのポインタを持っているのはなぜか、ちょっと混乱しています。 – msuhash
作成したディレクトリはどこで検索しましたか? System.Console.WriteLine(Path.GetFullPath(Path.Combine(TestContext.TestResultsDirectory、 "Test.txt")))))を試しましたか? – k3b