Возможно ли запустить NUnit против определенного (длинного) списка тестов? - PullRequest
1 голос
/ 18 августа 2011

У меня есть список нескольких тысяч тестов NUnit , которые я хочу запустить (автоматически генерируется другим инструментом).(Это подмножество всех тестов, и оно часто меняется)

Я хотел бы иметь возможность запускать их через NUnit-Console.exe. К сожалению, опция / run принимает только прямой список файлов, которые в моем случае не помещались бы в одной командной строке.Я бы хотел, чтобы он забрал список из имени файла.

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

Кто-нибудь знает, есть ли чистый способ заставить NUnit запускать мои указанные тесты?(Я мог бы разбить его на серию небольших вызовов NUnit-console с полной командной строкой, но это не очень элегантно)

(Если это невозможно, возможно, мне следует добавить его как запрос функции NUnit.)

Ответы [ 3 ]

3 голосов
/ 19 августа 2011

Получил ответ от Чарли Пула (из команды разработчиков NUnit), что это в настоящее время невозможно, но было добавлено как запрос функции для NUnit 2.6

1 голос
/ 18 августа 2011

Я понимаю, что вы говорите, но, как вы говорите, вы можете запустить один прибор из командной строки.

nunit-console /fixture:namespace.fixture tests.dll

Как насчет генерации всех тестов в одном приборе?Или поместить их все в одну сборку?

nunit-console tests.dll
0 голосов
/ 07 июля 2016

Как упоминалось в nunitLink , нам нужно упомянуть имя сценария / тестового случая. Это просто, но в этом есть какая-то хитрость. Прямое упоминание имени тестового набора не будет служить цели, и вы в конечном итоге получите 0 выполненных тестовых случаев. Нам нужно написать точный путь для того же.

Я не знаю, как это работает для других языков, но с помощью c # я нашел решение. Всякий раз, когда мы создаем файл объектов, соответствующий файл feature.cs создается в Visual Studio. Нажмите на featureFileName.feature.cs, найдите пространство имен и держите его в стороне (часть 1)

namespace MMBank.Test.Features

Прокрутите немного вниз, чтобы получить имя класса. Обратите внимание, что также и держите это в стороне (Часть 2)

public partial class HistoricalTransactionFeature

Продолжайте прокручивать вниз, вы увидите код, который nunit понимает для выполнения в основном.

[NUnit.Framework.TestAttribute()]
[NUnit.Framework.DescriptionAttribute("TC_1_A B C D")]
[NUnit.Framework.CategoryAttribute("MM_Bank")]

Ниже кода вы видите название функции / метода, которое, скорее всего, будет TC_1_ABCD (определенные параметры)

public virtual void TC_1_ABCD(string username, string password, string visit)

У вас будет несколько таких методов, основанных на нет. сценариев у вас есть в вашем файле возможностей. Запишите метод (тестовый пример), который вы хотите выполнить, и оставьте его в стороне (часть 3)

Теперь сопоставьте все части с точками. Наконец вы получите что-то вроде этого,

MMBank.Test.Features.HistoricalTransactionFeature.TC_1_ABCD

Вот и все. Точно так же вы можете создавать имена тестовых наборов из нескольких файлов объектов и складывать их в текстовый файл. Каждое имя теста должно быть в отдельной строке. Для команды вы можете просмотреть вышеуказанную ссылку nunit для выполнения, используя командную строку.

...