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 内置了一个。

于 2013-03-24T11:42:44.240 回答
0

您是否尝试过使用覆盖工具?(我会推荐dotCover

工具可以在xmljson等中生成报告,以便您轻松解析并使用结果进行进一步计算。

于 2013-03-24T12:04:47.127 回答