【问题标题】:Dealing with dates when using Specflow使用 Specflow 时处理日期
【发布时间】:2018-02-28 16:55:08
【问题描述】:

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】:

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();
}

【讨论】:

  • 谢谢。这就对了。我会在允许的时候接受。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-08
  • 2011-08-15
  • 1970-01-01
相关资源
最近更新 更多