2

複数のプロジェクトで構成される Visual Studio ソリューションがあります。TeamCity でビルド プロセスを設定し、次の設定で NUnit ランナー ビルド ステップを追加しました。

  • nunit ランナー 2.6.3
  • 以下からテストを実行します: %teamcity.build.workingDir%\Sources\**\bin\*.Web.UnitTests.dll
  • .net カバレッジ ツール: JetBrains dotCover
  • フィルター: --空--

ビルドの [Code Coverage] タブの [Coverage Breakdown] の下に、次のものしか表示されません。

  • MyProject.ドメイン
  • MyProject.Web.UnitTests

MyProject.Web、テストのオブジェクト、およびソリューション内の他のいくつかのアセンブリはそこに表示されず、dotCover コード カバレッジの計算では無視されます。なんで?使用するアセンブリをどのように指定できますか?

[フィルター] フィールドでさまざまな +: / -: の組み合わせを試しましたが、うまくいきませんでした。しかし、フィルターが空の場合、MyProject.Domain が含まれているため、MyProject.Web が含まれることを期待しています - なぜ含まれないのですか?

4

2 に答える 2

1

リリース モードまたはデバッグ モードでビルドしていますか? リリース モードでも同じ問題が発生し、dotCover がコード カバレッジを判断するために必要とする PDB 出力を有効にする必要がありました。PDB は、リリース ビルドではデフォルトで有効になっていません。

有効にするには、[プロジェクト設定] -> [ビルド] -> [詳細設定] (下部にあるボタン) -> [デバッグ情報] -> [pdb-only] または [full] を選択します。

さらに、dotCover は、コード カバレッジを特定できない場合にこのステートメントを提供します。リストされているすべての理由を確認すると役立つ場合があります。

実行コードは検出されませんでした。

この問題は、次のいずれかが原因である可能性があります。

  • 包含/除外パターンが正しくない
  • アセンブリはデバッグ情報なしでコンパイルされます
  • .pdb ファイルは利用できません
  • MSTest で Visual Studio コード カバレッジが有効になっている
  • .testrunco​​nfig が MSTest に使用され、Visual Studio のコード カバレッジが無効になっていない (enable="true" の CodeCoverage セクションが存在する)
于 2015-02-23T19:56:59.000 に答える
0

残念ながら、ログ ファイルとスナップショットがなければ、正しい答えを提供することは困難です。リクエストを送信してファイルを添付してください: http://dotnettools-support.jetbrains.com/anonymous_requests/new

ログがまだ有効になっていない場合は、対応するパラメーターをビルド構成に追加して有効にします: https://confluence.jetbrains.com/display/TCD9/Reporting+Issues#ReportingIssues-dotCoverIssues

于 2015-02-23T13:22:57.667 に答える