1

テストとコードのコード カバレッジを実行して取得するためにJetBrains DotCoverを使用しています。

私のプロジェクトには、「コンテンツ」としてビルドするように設定されたファイルがいくつかあります。これらはテストから次のように使用されます。

// Get executing assembly dir.
var dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

// Combine to get the full path to test page.
var page = Path.Combine(dir, @"Pages\Page.htm");

// Open web page.
manager.OpenBrowser(page);

残念ながら、dotCover を使用してこのテストを実行すると、Page.htmはアセンブリの場所にコピーされません。

コンテンツをテスト実行ディレクトリに取得する方法、またはこれを克服して他の方法でそのファイルにアクセスする方法はありますか?

4

1 に答える 1

1

これは、シャドウコピーの副作用である可能性があります。この場合の「Assembly.GetExecutingAssembly()。Location」は、シャドウコピーされたアセンブリへのパスを提供します。代わりに「Assembly.GetExecutingAssembly()。CodeBase」を使用してみてください。

于 2013-01-25T12:24:41.457 に答える