Самый простой способ сделать это ИМХО - это использовать StepArgumentTransformation
, что-то вроде этого:
[Then("And Validate Description (.*)")]
public void ThenValidateDescription(RandomisedValue description)
{}
[StepArgumentTransformation]
public RandomisedValue ToRandomisedValue(string initialInput)
{
return initialInput + GetRandomData();
}
specflow вызовет ваш метод преобразования аргумента шага с данными в методе, вы добавите ваш случайныйэлемент и вернуть класс, который представляет данные, которые были рандомизированы.Пока у вас есть отдельный класс для каждого типа рандомизации, который вы хотите, specflow сможет определить, какое из преобразований аргумента шага он должен вызвать ...