3

OpenCover の動作に問題があります

次のフォルダー構造があります

  • \ツール
  • \Tools\Nunit
  • \Tools\OpenCover
  • \Buildartifacts

コードがコンパイルされると、コンパイルされたすべてのコードが BuildArtifacts フォルダーに生成されます。これには、dll および対応する .pdb ファイルが含まれます。

OpenCover を実行するのに苦労しています

PowerShell から、ルート フォルダーから次のコマンドを入力しています。

.\tools\OpenCover\OpenCover.Console.exe -register:user -target:.\tools\nunit\nunit-console.exe -targetargs:".\buildartifacts\MVCControllerTests.dll /noshadow" -filter:+[*] * -output:.\coverage.xml

ただし、次のメッセージが表示され続けます:コミット中...

結果なし - 提供されたフィルターに一致するアセンブリがインストルメント化されませんでした。これは、フィルターに一致するアセンブリの PDB が見つからないことが原因である可能性があります。出力ファイルを確認し、使用ガイド (Usage.rtf) を参照してください。

OpenCover /NUnit can't find PDB filesを確認しましたが、targetargs に /noshadow スイッチが存在します

/noshadow を targetargs の最初に移動しようとしましたが、nunit からエラーが発生しました

また、nunit-console.exe.config を更新し、次の行をスタートアップ ノードに追加して、すべてのテストが .net3.5 ではなく .net4 内で実行されるようにしました。

<サポートされているランタイム バージョン="v4.0.30319">

しかし、それは違いはありませんでした。

coverage.xml ファイルを表示すると、noshadow フラグが設定されていても、nunit がシャドウコピーを実行しているように見えます。

たとえば、これは存在していました:

C:\Users\darren\AppData\Local\Temp\nunit20\ShadowCopyCache\10344_634940293912865718\Tests_275832668\assembly\dl3\db34ecee\a0f236ee_a7f4cd01\TABusinessInterface.DLL

どんな助けにも感謝します。

4

1 に答える 1

4

OpenCover WIKIは、PowerShellを使用する場合は、引数全体を引用符で囲む必要があることに注意しています。

-targetargs:".\buildartifacts\MVCControllerTests.dll /noshadow"

になります

"-targetargs:.\buildartifacts\MVCControllerTests.dll /noshadow"
于 2013-01-18T06:46:53.790 に答える