當使用BDD進行更高級別的測試時,那麼測試中的這種語言 - 給定的時候,似乎很容易理解。我使用C#。因此,我所做的是將該類命名爲「whenthishappens 「,setup是」給定的「,然後我進行了測試。但是,在爲類方法編寫測試時如何使用這種類型的BDD。或者,我應該只測試名爲」shouldDoXXX「的測試。使用BDD風格的測試
1
A
回答
2
我通常給我的測試命名爲shouldDoXXXX
,其中測試名稱描述了它應該爲所有類似的上下文做些什麼。所以我可能會說shouldAddUpTwoNumbersCorrectly
。這與很多BDDers的做法有些不同 - Ruby人羣似乎特別喜歡shouldAddTwoPlusTwoToMakeFour
,所以重複他們使用的特定示例。無論哪個適合你!
public void ShouldAddUpTwoNumbersCorrectly()
{
// Given two numbers
// When I give them to the summer
// Then the result should be the sum of the two numbers
}
然後,我填寫的意見之間的代碼:
測試裏面,當/然後我經常寫評論給出/。如果測試非常簡單,我可以跳過評論。
我不打擾英語可讀框架的類測試,因爲觀衆是技術性和能夠讀取代碼。創建Given/When/Then的BDD框架主要是爲了幫助與非技術利益相關者進行對話,並鼓勵開發人員使用他們的語言。我不覺得他們在課堂上很有用。因人而異。
2
這裏是一個博客,我寫了一篇關於BDD的風格測試基於MSTest的代碼:
http://mrclyfar.blogspot.com/2010/02/amazing-mapping-demo-at-ted-2010.html。我使用了這個blog的帖子。我個人測試時使用StoryQ。 StoryQ是一個類似於MSpec和SpecFlow的測試框架,因爲您可以以更具描述性的方式編寫測試。一開始,我嘗試使用BDD命名MSTest風格的代碼,但我發現它不夠靈活,然後我想。然後我嘗試了MSpec,這非常棒。
最後我選擇了StoryQ,因爲它有一點我更喜歡的冗長。使我能夠更輕鬆地編寫描述性測試,而無需使用上下文繼承。
1
這個C#框架,不正是你所需要的東西,可以讓你與IWantTo開始測試方法的名稱
public void IWantTo...()
它是開源的,並在
發現將此轉換爲...
[Test]
public void IWantToRegisterANewUser()
{
ICustomer customer = new Customer();
SoThat(MyBusinessValue.IncreaseCustomerBase)
.As(new User())
.Given(customer.Register)
.When(customer.Confirm_Registration)
.Then(customer.Login);
}
這個...
I want to register a new user
So that Increase customer base
As user
Given Register customer
When Confirm customer registration
Then Login customer
相關問題
- 1. 摩卡bdd風格測試命名
- 2. BDD故事風格
- 3. 用於winrt應用程序的BDD風格單元測試的MSpec替換
- 4. 使用BDD測試的開源項目?
- 5. 使用angularjs/Intern/BDD測試錯誤
- 6. 如何使用BDD構建CRUD測試
- 7. 使用測試管理器或編碼UI測試的BDD
- 8. 我將如何在BDD風格中測試Rhomobile中的控制器?
- 9. 如何在BDD風格的可可單元測試中共享斷言方法?
- 10. 放棄DI和使用BDD測試和集成測試
- 11. 如何在ASP.NET MVC中以BDD風格進行單元和集成測試?
- 12. BDD和功能測試
- 13. BDD Android UI測試框架?
- 14. maven-scala BDD測試與maven
- 15. BDD和測試覆蓋率
- 16. iPhone BDD測試/ iCuke建議
- 17. BDD測試Web服務/ API
- 18. 如何(策略)以BDD風格對單元測試屬性(get/set)進行測試?
- 19. 用於人爲驅動測試的BDD式測試框架
- 20. 如何在Resharper 4.5中使用bdd命名風格?
- 21. Jenkins的BDD specflow測試報告
- 22. 您的BDD規格應該與UI測試分開嗎?
- 23. 測試風格的成分與酶
- 24. 使用BDD語言編寫單元測試的好例子?
- 25. 如何使用Mocha Chai組織單元測試BDD的代碼?
- 26. 使用mocha測試Node.js,Express.js,Socket.io和mongo的BDD
- 27. 如何使用可變參數測試REST風格的服務?
- 28. 使用PHPUnit測試REST風格的Web服務
- 29. 使用node.js測試僞REST風格的api
- 30. 使用集成測試練習BDD - 我是否也需要單元測試?
你有沒有考慮任何的BDD框架可用於.NET?請參閱http://stackoverflow.com/questions/307895/what-is-the-most-mature-bdd-framework-for-net – bjg 2010-07-05 10:54:19