Как организовать тесты и функции SpecFlow в дереве проводника тестов

#c# #visual-studio #specflow #test-explorer

Вопрос:

Я использую SpecFlow с C#, Visual Studio 2019.

У меня есть тестовый проект с более чем 1000 тестами. Эти тесты сгруппированы примерно в 100 функциональных файлов.

В дереве обозревателя тестов все функции сгруппированы в одном узле, например:

 My.Test.Project
  My.Test.Project
    My.Test.Project.Feature1
    My.Test.Project.Feature2
    My.Test.Project.Feature3
    My.Test.Project.Feature4
  ...
    My.Test.Project.Feature99
    My.Test.Project.Feature100
 

Сначала это было нормально, когда было 10-20 файлов функций, но по мере роста проекта управлять им становится все труднее и труднее. Мне нужно много прокручивать, чтобы добраться до нужного файла функций.

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

Мне нужен способ группировать функции. Мне нужно что-то вроде:

 My.Test.Project
  My.Test.Project
    My.Test.Project.Group1
      My.Test.Project.Feature1
        My.Test.Project.Feature1.Scenario1
        My.Test.Project.Feature1.Scenario2
        My.Test.Project.Feature1.Scenario3
        My.Test.Project.Feature1.Scenario4
        My.Test.Project.Feature1.Scenario5
      My.Test.Project.Feature2
      My.Test.Project.Feature3
    My.Test.Project.Group2
      My.Test.Project.Feature4
      My.Test.Project.Feature5
      My.Test.Project.Feature6
    My.Test.Project.Group3
      My.Test.Project.Feature7
  ...
    My.Test.Project.Group10
      My.Test.Project.Feature99
      My.Test.Project.Feature100
 

Мне нужны функции (а не сценарии), сгруппированные, как указано выше. При развертывании каждой функции она должна отображать сценарии, которые она содержит.

Я перепробовал все параметры отображения и группировки, предлагаемые обозревателем тестов (пространство имен, класс и т. Д.). Я попытался добавить пользовательские пространства имен к каждой функции, используя Custom Tool и Custom Tool Namespace . Я пробовал добавлять tags и группировать функции по тегам. Я много искал и перепробовал множество других вещей, которые я нашел в Интернете, но не смог заставить это работать.

Я что-то упускаю? Спасибо!

Комментарии:

1. Ты не единственный, у кого такое разочарование. Проверьте Упорядочение тестов в проводнике тестов, например иерархию папок, при группировании по проекту, пространству имен, классу и группе проводника тестов следует поместить пространство имен и класс в ветвь дерева для запросов функций в сообществе разработчиков Visual Studio.