Первоначально предполагалось, что файл шагов связан с конкретным файлом функции. Как только я понял, что это неправда, это помогло мне улучшить все мои кодеки и файлы функций SpecFlow. Язык моих файлов функций теперь меньше зависит от контекста, что привело к более многоразовым определениям шагов и уменьшению дублирования кода. Теперь я организую свои файлы шагов в соответствии с общими сходствами, а не по какой функции они предназначены. Насколько я знаю, нет способа связать шаг с определенной функцией, но я не эксперт SpecFlow, поэтому не задумывайтесь об этом.
Если вы все еще хотите связать свои файлы шагов с определенным файлом функции, просто укажите им похожие имена. Нет необходимости, чтобы он был вынужден работать только для этой функции, даже если код шага имеет смысл только для этой функции. Это связано с тем, что даже если вам удастся создать повторяющийся шаг для другой функции, он обнаружит это как двусмысленное совпадение. Поведение для двусмысленных совпадений может быть указано в файле App.config. См. http://cloud.github.com/downloads/techtalk/SpecFlow/SpecFlow%20Guide.pdf для получения более подробной информации о файле App.config. По умолчанию неоднозначные совпадения обнаруживаются и сообщаются как ошибка.
[edit]: На самом деле существует проблема с этим способом (с файлами шагов, связанными с файлами функций только в вашем уме). Проблема возникает, когда вы добавляете или изменяете файл .feature и используете ту же формулировку, которую вы использовали раньше, и вы забыли добавить для нее шаг, но вы этого не заметите, потому что вы уже создали шаг для этой формулировки один раз до , и это было написано в контексте чувствительным образом. Также я больше не убежден в полезности не связывания файлов шагов с файлами функций. Я не думаю, что большинство клиентов были бы очень хороши в написании спецификации в контексте независимо. Это не то, как мы обычно пишем, говорим или думаем.
В 1.7.0 это, кажется, атрибут StepScope. например [StepScope (Tag = "mytag")] – ziya
Ссылка мертва. – Cumbayah
Новая ссылка https://github.com/techtalk/SpecFlow/wiki/Scoped-Bindings – Ecyrb