获取 NUnit3 中的测试总数

Get total count of tests in NUnit3

我想获得 NUnit3 计划进行的测试总数 运行,用于计算进度、剩余时间等。

我想从测试中获取此信息,以便我可以将有关剩余测试数量的信息打印到控制台。

我查看了标准界面 NUnit.Framework.TestContext,但我找不到任何提供测试列表的内容。

一些谷歌搜索将我指向 NUnit.Engine API 但这似乎是供外部使用的——每个构造函数都想要测试程序集的路径,我什至不知道如何获取 信息来自 TestContext

谁能给我指出正确的方向?

    // Using reflection to get total number of tests in a class

using System;
using System.Linq;
using System.Reflection;
using NUnit;

int GetTotalTestCount(Type testClassType)
{
    int result = 0;

    foreach (MethodBase method in testClassType.GetMethods())
    {
        if (method.GetCustomAttributes<TestAttribute>().Any())
        {
            result++;
        }
    }

    return result;
}