Перезапуск групп тестов в xunit для разных режимов программы - PullRequest
0 голосов
/ 14 февраля 2019

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

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

Я мог бы сделать это, используя [InlineData ()] для каждого теста с диапазоном значений от 1-3, а затем выбрать каждый режим измассив.Однако проблема этого подхода заключается в том, что режим переключения занимает около 20 секунд, и я бы предпочел, чтобы мой набор тестов запускался один раз для каждого из моих трех режимов, а не менял режимы каждый раз, когда я запускал тест.

Есть ли у кого-нибудь предложения о том, как я могу назвать набор тестов для N различных режимов, каждый с разным набором данных, переключаясь только один раз для каждого режима?

1 Ответ

0 голосов
/ 15 февраля 2019

Как правило, один из них решает проблему, реализуя тест в виде (обычно private) метода тестирования в abstract class, а затем создавая конкретные производные классы для каждой конфигурации, в которой вы заинтересованы - тест будет выполняться согласноконкретный класс.

Вы можете разделить состояние между тестами в каждом классе или между ними, используя соответствующие различные механизмы xUnit .

...