3

このVSTSコードカバレッジの「バグ」を経験した人はいますか?何か提案はありますか?

私は Visual Studio を使用してコード カバレッジ分析を行っていますが、これは通常、付属のツールを使用して簡単に行うことができます。しかし、私には克服できない問題があります。アセンブリ A、B、C、および D があり、それらすべてをカバレッジ分析用にマークしたとします。テストを実行して結果を確認すると、A、B、および C が含まれているが、D が含まれていないレポートが見つかりました。 UI テストはまだ利用していません)。D がレポートから欠落する原因となる D のテストがないため、コード カバレッジの合計パーセンテージと "ブロックがカバーされていません" は正しくありません。

次のいずれかを行う方法を知っている人はいますか?

  • カバレッジ レポートが正しくなるように手動で調整できるように、D の合計「ブロック数」を計算しますか?
  • カバレッジ レポートを取得して、カバレッジ用にインストルメント化されているがまったくテストされていないアセンブリについて、カバーされていないブロックの数を自動的に表示しますか?

私はテスト カバレッジを改善したいと考えていますが、コード ベースの過去の時点で保存されたカバレッジ レポートを分析しています。したがって、各アセンブリで少なくとも 1 つのコード ブロックを実行し、テストを実行してテスト カバレッジを再計算するだけのテストを作成したくありません。これは、単純な問題のように見えるものの、かなり時間のかかる回避策です。

4

1 に答える 1

2

私はこれに一度遭遇しました、それは非常に迷惑です。私の場合、カバーされていない dll がいくつかあったため、カバーされている dll の情報をサイズで割った値を使用して、コード ベースのブロック/kb を見積もることになりました。もちろん、カバーされていない dll のブロック数を取得するには、平均に dll のサイズを掛けるだけです。これは最も正確な方法ではありませんが、大まかに言えば、既知の dll を計算して実際の値と比較することでエラーを判断できます。計算されるアセンブリの数が多い場合に役立ちます。

もちろん、LOC カウント (コメントは無視) を実行して、ブロックにほぼ相当する単一の LOC を計算することもできます。私の記憶が正しければ、それはかなり正確であり、あなたをさらに近づけるはずです.

カバーされていないアセンブリに関するレポートを強制する唯一の方法は、アセンブリをロードするテストを実際に作成することです (テストは何もする必要さえありません)。

于 2008-09-24T22:00:42.797 に答える