2016-07-04 30 views
0

我有一個像小黃瓜定義步驟:SpecFlow StepArgumentTransformation

When I select '<currentuser>' 

在我stepdefinitions,我想捕捉到了這個參數,並與會議的一個替換此。 我想用

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