Я начинаю в мире SpecFlow и столкнулся с моей первой проблемой.
С точки зрения сохранения моего кода СУХОГО, я хотел бы сделать следующее:
Есть два сценария:
Given I am on a product page<br>
And myfield equals todays date<br>
Then...
Given I am on a product page<br>
And myfield equals todays date plus 4 days<br>
Then...
Я надеялся использовать следующее определение шага, чтобы охватить оба варианта моего предложения And:
[Given(@"myfield equals todays date(?: (plus|minus) (\d+) days)?")]<br>
public void MyfieldEqualsTodaysDate(string direction, int? days)<br>
{<br>
//do stuff<br>
}
Однако я продолжаю получать исключения, когда SpecFlow пытается проанализировать int? пары.
Я проверил регулярное выражение, и оно определенно анализирует сценарий, как и ожидалось.
Я знаю, что мог бы сделать что-то такое же грубое, как перегрузка методов и т. Д., Мне просто было интересно, поддерживает ли SpecFlow идею значений параметров по умолчанию или действительно другой способ достижения того же эффекта.
Большое спасибо