SpecFlow StepArgumentTransformation

时间:2016-07-04 14:21:23

标签: specflow

我的Gherkin步骤定义如下:

When I select '<currentuser>'

在我的stepdefinitions中,我想捕获此参数并将其替换为session中的参数。 我想用

StepArgumentTransformation

这里

我可以使用什么RegEx表达来捕获<>之间的所有内容

感谢

1 个答案:

答案 0 :(得分:0)

如果我理解你的要求,我认为你不能做你想做的事。原因是没有从一种类型转换到另一种类型,它是一个字符串输入到一个字符串输出,你不能用步骤参数转换。我想你有几个选择。 1只是在每个步骤中使用查询来自会话的值。另一种是创建一个可以在变换中使用的类。像这样的东西:

public class SessionVariable
{
    ...stuff
} 

[StepArgumentTransformation]
public SessionVaraible TransformToSessionVariable(string input)
{
    ..create session variable from input
}

然后让步骤方法接受SessionVaraible

类型的变量
[When("I select '(.*)'")]
public void WhenISelect(SessionVaraible sessionVariable)
{
    ...whatever
}