これは .NET ライブラリ (DLL) に関するものです。
単体テスト ケースでカバーされるコードを測定するためのオプションは何ですか? 実際に努力する価値はありますか (コード カバレッジの測定)? コードの 70% をカバーするのは簡単すぎて、90% を超えるのはほとんど不可能なのではないでしょうか。
[編集] もう 1 つの興味深い質問 ("E Rolnicki" によって提起された) は、次のとおりです。妥当なカバレッジ % とは何ですか?
これは .NET ライブラリ (DLL) に関するものです。
単体テスト ケースでカバーされるコードを測定するためのオプションは何ですか? 実際に努力する価値はありますか (コード カバレッジの測定)? コードの 70% をカバーするのは簡単すぎて、90% を超えるのはほとんど不可能なのではないでしょうか。
[編集] もう 1 つの興味深い質問 ("E Rolnicki" によって提起された) は、次のとおりです。妥当なカバレッジ % とは何ですか?
NCover (商用のものと同じ名前のオープン ソースのものの両方) と Visual Studio のコード カバレッジ ツールは、MS の世界ではほぼ主要なツールです。
コード カバレッジは逆の指標です。どのコードが適切にテストされているかは実際にはわかりません。ニックが言ったように、そのカバーをテストすることはできますが、実際にはあまりテストしません。コード カバレッジは、コードのどの領域にまったくテストがないかを示します。そこから、このコードのテストを作成する意味があるかどうかを判断できます。
一般に、コード カバレッジを行うべきだと思います。セットアップにそれほど労力を必要とせず、少なくとも以前よりもコードに関する詳細な情報が得られるからです。
コードの最後の部分を取得することはおそらく最も困難であり、その ROI が意味をなさないポイントがある可能性があることに同意します。
コード カバレッジを調べる際に考慮すべき点が 2 つあります。
たとえば、次のスニペットを見てください。
if (a == 2)
{
do_A_Stuff();
}
if (b == 3)
{
do_B_Stuff();
}
a = 2 のテストを実行し、b = 3 の 2 番目のテストを実行します。これは 100% のコード カバレッジです。しかし、a = 2 & b = 3 のテストではどうなるでしょうか? これらは「変数関係」であり、カバレッジ メトリックの過信につながる可能性があります。
Visual Studio Team System Developer Edition には、コード カバレッジが含まれています。これは、単体テストを実行するときに含めることができます。
.testrunconfig を開き、データが必要なアセンブリを選択します。