2016-07-04 14 views
0

私はガーキンのように定義されたステップがあります:私は、このパラメータをキャプチャし、セッションから1でこれを交換したいと思い、私のstepdefinitionsでSpecFlow StepArgumentTransformation

When I select '<currentuser>' 

を。 私は私が正しくあなたの条件を理解していれば、私は<>

おかげ

答えて

1

間のすべてのものをキャプチャするために使用できる正規表現式です何

ここ

StepArgumentTransformation 

を使用したいですあなたが望むことができるとは思わない。その理由は、あるタイプから別のタイプへの変換はありません。そのタイプの文字列は、文字列に変換されます。これは、ステップの引数変換では実行できません。私はあなたにいくつかの選択肢があると思う。 1は、各ステップのセッションからの値のルックアップを使用するだけです。もう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 
} 
+0

感謝を受け入れます。それが問題を解決した – JSDeveloper