はっきりさせてみます
IntegrationTests という MSTest プロジェクトがあります
IntegrationTests フォルダー内に PowerShell スクリプトがあります。このスクリプトは、MSTest コマンド ライン引数を使用してテストを実行します。
テストは正常に呼び出されていますが、すべてのテストが実行された後、レポートを作成するテスト メソッドの 1 つのメソッドが呼び出されます。report.xslt ファイルを読み込もうとすると、「TestResults」フォルダが追加されます
Unexpected
................
System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\dev\Desktop\Test Runner\IntegrationTests\TestResults\Report Generator\Reports\report.xslt
Expected
................
C:\Users\dev\Desktop\Test Runner\IntegrationTests\Report Generator\Reports\report.xslt
この「TestResults」という余分なフォルダーが追加されるのはなぜですか?
明確にするために、このプロジェクトをビジュアル スタジオから実行すると、このプロジェクトは 100% 機能します。
C#で相対パスがどのように構築されているかを知りたい場合は、ここにコードがあります
var directory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
var xslt = new XslCompiledTransform();
xslt.Load(Path.Combine(directory, "..\\..\\Report Generator\\Reports\\report.xslt"));
テストを正常に実行できるように、「TestResults」を削除する方法を知りたいだけです。どんな助けでも本当に感謝しています。