前の質問で述べたように、Xunit テスト ケースを実行しています。
cake(c# make) スクリプトを使用して xunit でテスト ケースのカウントに合格して失敗する方法
テスト ケースの実行中に、私のテスト ケースのほとんどがAppDomain
.
テスト ケースは で成功していVisual Studio
ます。
エラー ログから、アプリケーションの場所ではなく、Xunit コンソール ランナーの場所からファイルを読み取ろうとしていることがわかります。
注: Xunit2SettingsのNoAppDomainを false として使用しています。
単体テストとファイルで作業する場合、メモリまたはアセンブリ リソース内のデータを使用して実際のファイル システムの使用を回避できるかどうかを最初に確認することをお勧めします。そうすれば、並列実行、ファイルシステムのロック、または同様の環境関連の問題は問題になりません。したがって、テストからファイルシステムをリファクタリングする機会があれば (それがテストの内容でない限り)、私は最初にそのルートに進みます。
発生している問題を回避する 1 つの方法は、絶対パスを使用することです。これは、テスト アセンブリの場所を使用してテストでこれを実現し、相対パスを Path.Combine にすることで実現できます。アセンブリのパスを取得する方法を説明する良い StackOverflow の回答があります: https://stackoverflow.com/a/52956/5883153
あなたが試すことができる簡単な修正は、Xunit2Settings WorkingDirectoryを使用して VisualStudio と同じ現在のディレクトリを設定することですが、それは私がテストしたり推奨したりするものではありません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加