SpecFlow StepArgumentTransformation

SpecFlow StepArgumentTransformation

我将小黄瓜步骤定义为:

When I select '<currentuser>'

在我的步骤定义中,我想捕获此参数并将其替换为会话中的参数。 我想使用

StepArgumentTransformation

这里

我可以使用什么 RegEx 表达式来捕获 <>

之间的所有内容

谢谢

如果我正确理解了您的要求,我认为您无法为所欲为。原因是没有从一种类型到另一种类型的转换,它是一个字符串输入到一个字符串输出,您将无法通过步进参数转换来完成。我想你有几个选择。 1 只是在每个步骤中查找会话中的值。另一种是创建一个可以在转换中使用的 class 。像这样:

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
}