Вы не очень конкретны, но, похоже, у вас есть файл функций, подобный этому:
@first
Scenario: A - Something Specific happens under the first settings
Given ...etc...
@second
Scenario: B - Something Specific happens under the second settings
Given ...etc...
@first @second
Scenario: C - Something general happens under the first and second settings
Given ...etc...
Похоже, что вы выбираете тесты для запуска в NUnit, запустив все тесты в "первой" категории.
Если вы настроите определения событий следующим образом:
[BeforeFeature("first")]
public static string FirstSettings()
{ ... }
[BeforeFeature("second")]
public static string SecondSettings()
{ ... }
Если вы выполните сценарий C, тогда FirstSettings()
и SecondSettings()
будут выполнены перед ним. Это независимо от того, использовали ли вы категорию @second
, чтобы выбрать тест для запуска в NUnit.
Это почти наверняка причина того, что вы видите вторые настройки, примененные к вашему тесту с обоими тегами - я ожидаю, что вторые настройки перезапишут первые, верно?
Мой единственный совет по настройке подобных тестов заключается в том, что привязка событий и т. Д. К определенным тегам может быть полезной, но должна использоваться как можно меньше. Вместо этого сделайте ваши индивидуальные определения шагов многократно используемыми и настройте тестовую среду, где это возможно, с помощью Given
шагов.