0

プロジェクトの場合、単体テストの最後に呼び出されるメソッドの数を知る必要があります。(または、Visual Studioの呼び出し階層のようなもの(実行時ではない)。このためのテストプロジェクトを作成しました。ただし、単体テストプロジェクト内で呼び出されたメソッドのみを取得します。

たとえば、次のクラス(アセンブリ)を持つクラスライブラリがあります。

public  class Program
{
    public void A()
    {
        B();
        C();
    }

    public void B()
    {

    }

    public void C()
    {
        B();
        D();
    }

    public void D()
    {

    }
}

そして、以下の試験方法による単体テスト(組立)

    [TestMethod]
    public void TestMethod1()
    {
        StackTrace stackTrace = new StackTrace();
        new Program().A();
        int count = stackTrace.FrameCount;
    }

    [TestMethod]
    public void TestMethod2()
    {
        StackTrace stackTrace = new StackTrace();
        new Program().C();
        int count = stackTrace.FrameCount;
    }

両方の単体テストでカウント=12です。stackTrace変数のプロパティを調べると、単体テストアセンブリで呼び出されたメソッドのみが表示されます。クラスライブラリアセンブリの呼び出しをstackTraceに含める方法はありますか?

前もって感謝します

4

2 に答える 2

0

テストカバレッジツールが必要なようです。テストされたアセンブリのどのメソッドが呼び出されたかが表示されます。VisualStudioには1つ組み込まれています。

于 2013-03-24T11:42:44.240 に答える
0

カバレッジツールを使用しようとしましたか?(dotCoverをお勧めします)

ツールは、などでレポートを生成できるためxml、レポートjsonを簡単に解析して、結果をさらに計算に使用できます。

于 2013-03-24T12:04:47.127 に答える