4

TeamCity を介してテストをビルドおよび実行するプロジェクトが多数あります。これらのプロジェクトのコード カバレッジは、dotCover を使用して計算されます。

場合によっては、行が 2 回カウントされるため、カバレッジの半分しか表示されません。

これの最も単純な例は、1 つのクラスを持つ名前空間です。このクラスは、6 つの定数の単なるリストです。したがって、6 つの public static プロパティがあります。

コードを表示すると、6 行すべてが緑色で表示されます。

しかし、統計では 12 行と報告されています。(すべて) 6 行しかテストされていないため、カバレッジは 50% です。

すべてのプロジェクトまたはプロジェクト内のすべての DLL でこの問題が発生するわけではありません。パターンを特定できませんでした。

この問題の原因を知っている人はいますか?

4

1 に答える 1

1

私はまさにこの問題にぶつかりました(teamcity 7.1.5、組み込みのdotcover、msunitテストフレームワーク)。

私にとっての原因は、1 つのビルド ステップで複数のアセンブリをテストしていたことです。Assembly1とAssembly2は両方ともAssembly3を使用しており、この問題が発生したのはAssembly3でした.Assembly3は、質問で説明されているように、必要なカバレッジのちょうど半分で表示されました。

解決策: Assembly1 をテストするためと Assembly2 をテストするための 2 つの個別のビルド ステップを作成します。これで、この問題はなくなりました。最終結果は正しく表示されます。テストはすべて引き続き実行され、コード カバレッジの結果は正確です。

于 2013-07-11T15:22:16.543 に答える