使用Specflow时处理日期

问题描述 投票:0回答:1

1

我有一个像这样的Specflow功能:

Given A date of 1,1,2018

当我使用“生成步骤定义”时,会生成如下方法:

[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?和其他地方。

c# .net regex bdd specflow
1个回答
1
投票

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();
}
© www.soinside.com 2019 - 2024. All rights reserved.