2 回答
TA贡献1829条经验 获得超7个赞
最简单的方法是编写一个特定于“立即”返回行项目的步骤:
Given the API returns items for right now
您可以从新版本调用该步骤的其他版本:
[Given(@"the API returns items for right now")]
public void GivenTheAPIReturnsItemsForRightNow()
{
GivenTheAPIReturnsItemsFor(DateTime.Now);
}
这避免了步骤之间的代码重复。
TA贡献1811条经验 获得超6个赞
由于功能文件是您可以与业务利益相关者(或组织中的其他非 IT 人员)共享的内容,因此使用“现实世界”功能文件会更有意义。功能文件中的语言。 此外,当您在测试结束时将其传递给报告工具时,它会更具可读性。
我会这样处理。 switch 语句可以轻松地使用现实世界语言添加其他类型的日期:
[Given("The API returns line items for '(.*)'")]
public void GivenTheAPIReturnsItemsForTime(string mydate)
{
switch (mydate)
{
case:"the current date":
HandleApiDateTime(DateTime.Now.ToString("dd-MM-yyyy"))
// pass the current date to the Api handler
break;
case:"yesterday":
HandleApiDateTime(DateTime.Now.AddDays(-1).ToString("dd-MM-yyyy"))
// pass yesterdays date to the Api handler
break;
default:
Console.Writeline("I didnt recognize this command");
// or other error handling
break;
}
}
private void HandleApiDateTime(DateTime mydate)
{
// do your api magic with a date object
}
你的功能文件可能看起来像
Given the API returns items for 'yesterday'
when my function is run
then I want that data in my database
- 2 回答
- 0 关注
- 115 浏览
添加回答
举报