2010-09-01 22 views
1

我正在爲某些場景編寫具有相同語言的功能。當我編寫與其他功能使用相同語言的功能時,如何確保爲持久性調用正確的步驟?

Feature: User Management 
Scenario: Edit an existing user's details 
Given a user exists 

Feature: Group Management 
Scenario: Add a user to a group's membership 
Given a user exists 
And a group exists 

在SpecFlow是有界定什麼步驟每個功能調用的好方法?我在寫劇本的過程中遇到了錯誤的方式嗎?我是否應該咬緊牙關,改變我的陳述以表示它們適用於哪些功能?我是BDD和SpecFlow的新手,所以任何幫助表示讚賞。

回答

1

小黃瓜格式(類似於SpecFlow所使用的Cucumber-family中的工具)沒有用於在要素之間共享步驟的任何結構(在功能內部,您可以使用backgrounds)。

這背後的意思是,功能應該是自我描述和完整的自己。通過使用「背景」部分,您可以避免使用太長的場景,但仍然可以將所有信息放在文件中。不過,您必須重複每個功能的共享步驟。

作爲替代方案,您也可以創建事件綁定(就像黃瓜中的「鉤子」),您可以在其中實現一些分片邏輯。但是這個共享邏輯必須在.NET中實現。

+0

我認爲背景正是我在這裏尋找的。謝謝! – jpmcclung 2010-09-08 19:12:25