使用 Specflow 时处理日期
Dealing with dates when using Specflow
1
我有这样的 Specflow 功能:
Given A date of 1,1,2018
当我使用"Generate step definitions"时,一个方法是这样产生的:
[Given(@"A date of (.*),(.*)")]
public void GivenADateOf(Decimal p0, int p1)
{
ScenarioContext.Current.Pending();
}
如何更改接受三个参数的方法?即
public void GivenADateOf(int p0, int p1, int p2)
{
ScenarioContext.Current.Pending();
}
2
还说我想把功能改成这样:
Given A date of 1/1/2018
如何更改接受一个参数的方法?即
public void GivenADateOf(datetime p0)
{
ScenarioContext.Current.Pending();
}
我是 Specflow 的新手。我看过这里:How does specflow handle multiple parameters? 以及其他地方。
SpecFlow 允许指定不同的正则表达式来捕获参数。
对于第一个选项,我会使用:
[Given(@"A date of ([0-9]*),([0-9]*),([0-9]*)")]
public void GivenADateOf(int day, int month, int year)
{
ScenarioContext.Current.Pending();
}
对于第二个选项,我会使用与您的日期格式相对应的正则表达式。例如:
[Given(@"A date of (.*)")]
public void GivenADateOf(DataTime dataTime)
{
ScenarioContext.Current.Pending();
}
1
我有这样的 Specflow 功能:
Given A date of 1,1,2018
当我使用"Generate step definitions"时,一个方法是这样产生的:
[Given(@"A date of (.*),(.*)")]
public void GivenADateOf(Decimal p0, int p1)
{
ScenarioContext.Current.Pending();
}
如何更改接受三个参数的方法?即
public void GivenADateOf(int p0, int p1, int p2)
{
ScenarioContext.Current.Pending();
}
2
还说我想把功能改成这样:
Given A date of 1/1/2018
如何更改接受一个参数的方法?即
public void GivenADateOf(datetime p0)
{
ScenarioContext.Current.Pending();
}
我是 Specflow 的新手。我看过这里:How does specflow handle multiple parameters? 以及其他地方。
SpecFlow 允许指定不同的正则表达式来捕获参数。
对于第一个选项,我会使用:
[Given(@"A date of ([0-9]*),([0-9]*),([0-9]*)")]
public void GivenADateOf(int day, int month, int year)
{
ScenarioContext.Current.Pending();
}
对于第二个选项,我会使用与您的日期格式相对应的正则表达式。例如:
[Given(@"A date of (.*)")]
public void GivenADateOf(DataTime dataTime)
{
ScenarioContext.Current.Pending();
}