Проблемы именования тестового потока Specflow при отображении URL C# с использованием примеров ScenarioOutline
Я использую Specflow Scenario Outline для запуска списка разных URL с помощью примеров. Однако при проверке Test Explorer соглашение об именах для каждого примера берет последнее слово после полной остановки. Я пытался найти что-то связанное с форматированием, но зашел в тупик и не смог найти здесь ничего, что соответствовало бы моей конкретной проблеме.
Например, www.test.co.uk показывает просто "Великобритания в TestFeature"
К сожалению, в моем тесте URL-адрес является уникальным значением, поэтому когда дело доходит до отчетности, ясно, какие URL-адреса были протестированы в сценарии... в противном случае я бы использовал имя клиента.
Пакеты в решении включают в себя: NUnit, Specflow, SpecRun
Пример схемы сценария ниже:
Scenario Outline: The login page for a given client is displayed when navigated to it
When I load the URL '<URL>'
Then The login page is displayed for client '<Client>'
Examples:
| URL | Client |
| http://www.test1.co.uk | Someone1 |
| http://www.test2.co.uk | Someone2 |
| http://www.test3.co.uk | Someone3 |
| http://www.test4.co.uk | Someone4 |
| http://www.test5.co.uk | Someone5 |
| http://www.test6.co.uk | Someone6 |
| http://www.test7.co.uk | Someone7 |
| http://www.test8.co.uk | Someone8 |
| http://www.test9.co.uk | Someone9 |
| http://www.test10.co.uk | Someone10 |
Тестовый проводник:
Если больше информации требуется, дайте мне знать. Я использую Visual Studio 2017 в качестве своей IDE и SpecFlow 2.4.1, SpecRun 1.8.5.
1 ответ
У нас (как в SpecFlow+ Team) есть ошибка в экранировании имен сценариев, когда они содержат точку. Нам все еще нужно это исправить.
Я хотел бы предложить вам (и это самый быстрый обходной путь на данный момент), чтобы добавить столбец, добавить начало и использовать его для описания единственного примера в этой строке.
SpecFlow использует первый столбец столбца схемы сценария для именования. Если у вас есть только URL, имена сценариев не так хороши для чтения. И URL-адреса - это деталь "реализации".
Возможно, имя клиента лучше подходит для включения в имя сценария.
Полное раскрытие: я один из разработчиков SpecFlow & SpecFlow+.