I've recently been getting into BDD and think it holds great promise as a way to get a stakeholder's voice back in the apps we, as developers, create for the开发者_运维百科m. What's your favorite BDD framework and why?
My personal favourite is MSpec since I really like the integration with Resharper. Using BDD style tests reads a lot better for me and MSPec is a nice, light framework to use.
Here some other popular frameworks:
- NBehave
- NSpec
- Another NSpec (not related to the above NSpec)
EDIT:
I've started using StoryQ in the past month or so, and have found it to be really good. In fact, I'm preferring it over MSpec. Will see how things turn out.
I haven't used any of the others, but appreciate StoryQ in my current projects since it uses NUnit which make the stories run just like any other unit test, hence allowing me to use TestDriven.Net as usual.
Also, the HTML report is very nice in order for the stakeholders to follow the progress (a web page on our TeamCity server).
Take a look at SpecFlow - it looks pretty good to me. Following a code camp presentation on BDD, I've decided to give it a chance and see how it fits into my work flow. There are some videos doing BDD here by Brady Gaster. Pretty good stuff.
I believe MSpec has growing popularity.
I like Concordion.NET as it is very flexible and powerful. Lately it was integrated with NUnit to run the Concordion.NET tests: https://github.com/concordion/concordion-net Thus, it can be used with any environment that supports NUnit test execution. Concordion.NET is an open source framework for Behavior Driven Development (BDD). Specifications of the expected behavior are written in HTML, so can be easily hyperlinked into a navigable structure. These files contain references to fixtures in test code that are executed with the help of NUnit. Concordion.NET acceptance tests are so readable, they can double up as system documentation. And, since the tests run against the system, you can be confident the documentation is always up-to-date.
精彩评论