2

VS2010 + C# + .Net 4.0 を使用しています。単体テストのコード カバレッジを行いたい。調査した結果、2 つの選択肢があります。私の質問は、そのような 2 つのツール/選択肢の長所と短所を知りたいということです。

  1. ncover などの非 VS 組み込みツールの使用。
  2. たとえば、VSTS組み込みツールを使用すると、

http://msdn.microsoft.com/en-us/library/dd299398%28VS.90%29.aspx

http://msdn.microsoft.com/en-us/library/ms379625%28VS.80%29.aspx#vstsunittesting_topic7

4

2 に答える 2

3

両方のツールを使用した後は、どちらもほぼ同じように機能します。テストを実行してから、レポートを表示します。どちらのツールも、コードの強調表示を提供して、コードのどの行にカバレッジがあり、どの行にカバレッジがないかを示します。MsTestは情報に関してこれ以上の情報を提供しませんが、NCoverは多くのHTMLレポートを提供し、時間の経過とともにコードカバレッジの傾向を把握できます。このようなことは役に立ちます。

今違いのために。MsTestカバレッジツールは、実際にはMsTest単体テストでのみ機能します。IDEからNUnit(または他のテストフレームワーク)を使用して作成されたテストを簡単にカバーすることはできません。これは可能ですが、時間がかかり、コマンドラインからカバレッジツールを呼び出して、アセンブリを手動でインストルメント化する必要があります。繰り返しますが、それは可能ですが、特に初心者にとっては、それほど簡単ではありません。NCoverはより柔軟性があり、ほとんどのテストフレームワークで実行できます。また、自動ビルドサーバーを使用するとNCoverを実行する方が簡単であることがわかりました。CruiseControlでMsTestカバレッジを自動化することはできませんでしたが、MSがTeamFoundationServerで機能するようになっていると思います。

于 2010-11-01T02:51:36.307 に答える
1

役立つかもしれないいくつかの小さなメモ:

  1. 残念ながら、NCover のフリーウェア バージョンは .Net 4.0 ランタイムでは動作しません。
  2. CruiseControl.Net との統合に関心がある場合は、Gallio テスト ランナーを使用して MSTest テストを実行できます。Gallioを参照してください : MSTest 実行可能ファイルが見つからなかったため、テストを実行できません
于 2010-11-01T10:24:44.510 に答える