Получить общее количество тестов в NUnit3 - PullRequest
0 голосов
/ 13 сентября 2018

Я хотел бы получить общее количество тестов, которые NUnit3 планирует запустить, для расчета прогресса, оставшегося времени и т. Д.

Я хотел бы получить эту информацию из теста, чтобы я могвыведите на консоль информацию о количестве оставшихся тестов.

Я просмотрел стандартный интерфейс NUnit.Framework.TestContext, но не могу найти ничего, что дает список тестов.

НекоторыеGoogle указал мне на NUnit.Engine API, но это, похоже, для внешнего использования - каждый конструктор хочет путь к тестовой сборке, и я даже не могу понять, как получить эту информацию из TestContext.

Кто-нибудь может указать мне правильное направление?

1 Ответ

0 голосов
/ 23 июня 2019
    // 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;
}
...