[英]Passing values to Specflow Scenario methods from feature file
我在 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
您可以按照 specflow 中的文檔來實現這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.