私はSpecFlowの世界から始めており、最初の問題に遭遇しました。コードをDRYに保つという観点から、次のことを行いたいと思います。
2つのシナリオがあります。
Given I am on a product page
And myfield equals todays date
Then...
Given I am on a product page
And myfield equals todays date plus 4 days
Then...
次のステップ定義を使用して、And句の両方のバリアントをカバーすることを望んでいました。
[Given(@"myfield equals todays date(?: (plus|minus) (\d+) days)?")]
public void MyfieldEqualsTodaysDate(string direction, int? days)
{
//do stuff
}
ただし、SpecFlowがintを解析しようとすると、例外が発生し続けますか?パラメータ。正規表現を確認しましたが、シナリオは確実に期待どおりに解析されます。メソッドのオーバーロードなど、大雑把なものができることは承知しています。SpecFlowがデフォルトのパラメーター値のアイデアをサポートしているのか、それとも同じ効果を実現する別の方法をサポートしているのか、疑問に思っていました。
どうもありがとう