用于从单元测试中引用项目的c# StackTrace

本文关键字:StackTrace 项目 引用 单元测试 用于 | 更新日期: 2023-09-27 18:05:27

对于一个项目,我需要知道在单元测试结束时调用了多少方法。(或者类似于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;
    }

在两个单元测试中,count = 12。当我检查stackTrace变量的属性时,我只看到单元测试程序集调用的方法。是否有一种方法可以在stackTrace中包含类库程序集的调用?

Thanks in advance

用于从单元测试中引用项目的c# StackTrace

您尝试过使用覆盖工具吗?(我推荐dotCover)

Tool可以在xml, json等中生成报告,因此您可以轻松地解析它们并使用结果进行进一步计算。

看起来您需要一个测试覆盖工具。它将显示调用了测试程序集的哪些方法。