我有兩個類(A和B)都標有[綁定]。目前我正在使用每個功能的類。類A和B都具有一個步驟,看起來像這樣:SpecFlow - 步驟(給定)在不同的類中具有相同的正則表達式不能獨立執行
[Given(@"an employee (.*) (.*) is a (.*) at (.*)")]
public void GivenAnEmployeeIsAAt(string firstName, string lastName, string role, string businessUnitName)
當運行在類A中定義的特徵的情況下,和測試運行執行上述指示的步驟中,類B的匹配步驟得到改爲執行。
「Steps」也是全球性的嗎?我認爲只有「鉤子」方法是全球性的,即BeforeScenario,AfterScenario。我不希望這種行爲是「給定」,「然後」和「何時」。有沒有什麼辦法解決這一問題?我試着把這兩個類放在不同的命名空間中,這也不起作用。
另外,我是否可能會濫用SpecFlow,希望每個「給定」是獨立的,如果我把它們放在單獨的類中?
非常好,我今天早上和SpecFlow一起工作,發現了這個問題,並且認爲我今天晚些時候需要答案 - 我這麼做了。 – cfeduke 2011-03-28 21:07:13
所以我想如果我的問題是試圖組織我正在做的類(按功能)的步驟,那麼更合適的組織將通過行爲。通過這種方式,一系列行爲可以逐漸構建並在稍後重新引用。不知道是否有類似TestDox的SpecFlow工具? – SideFX 2011-03-29 00:14:27
是的,您可能最好爲每個邏輯實體組織您的步驟定義(或更好的放置行爲)。我已經創建了一個例子,你可能會覺得有用。看看這裏:http://www.marcusoft.net/2011/01/kanbanboards-part-iitwo-step-forward.html?m=0 – 2011-03-29 08:55:08