本文介绍了将值从要素文件传递到Speflow方案方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在Hook.cs文件中定义了一个自定义标记,如
[BeforeScenario("AfterUpgradeTag")]
public void BeforeScenarioAfterUpgrade()
{
// Code execution here
}
我想做的是更改其方法定义,如
[BeforeScenario("AfterUpgradeTag")]
public void BeforeScenarioAfterUpgrade(bool flag)
{
if(flag)
// Code execution here
else
//Do a clean up
}
我想在功能文件中使用它,类似于
@AfterUpgradeTag(bool val = false)
我已经为此搜索了很多次。我想知道使用specflow是否可能实现这一点,或者是否有其他选择
推荐答案
我不确定您是否可以在功能文件中传递类似的参数,但您可以利用标记来实现您的目标
在功能文件中执行此操作
@upgrade @false
Scenario: testing upgrade
在绑定类中
public static ScenarioContext _scenarioContext;
和绑定类构造函数
public BindingClass(ScenarioContext scenarioContext)
{
_scenarioContext = scenarioContext;
}
并且您的BeForeScenario方法在类BindingClass
[BeforeScenario("upgrade")]
public void BeforeScenarioUpgradeFalseorTrue()
{
if (BindingClass._scenarioContext.ScenarioInfo.Tags.Contains("false"))
{
log.Info("upgrade is false..");
}
if (BindingClass._scenarioContext.ScenarioInfo.Tags.Contains("true"))
{
log.Info("upgrade is true..");
}
}
如果要传入true
功能文件,只需执行
@upgrade @true
Scenario: testing upgrade
这篇关于将值从要素文件传递到Speflow方案方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!