Open source projects using BDD testing?
My team is interesting in understanding BDD better.
Are there open source .NET/Java projects which use behavior driven develo开发者_JS百科pment (BDD)?
I would like to focus my attention on static language examples.
Cellz which is a functional Excel-like spreadsheet application for Silverlight has some BDD tests written using TickSpec. Both projects are using F# to some point, but you can probably learn something from them even if you're not an F# developer (TickSpec can be used from C# too).
Phil Trelford who is the author of both of these projects also did a talk about BDD and TickSpec at F#unctional Londoners user group. You can watch the recording here.
I got these for java:
- jbehave
- jdave
- tumbler-glass
- easyb
Why don't you search GitHub?
c# code with features(specflow/cucumber) in it
c# code that uses MSpec
Fluent NHibernate is a fairly big project that user MSpec
Machine.Specifications uses itself too
I offer the little project I've been working on: WipFlash. It's a C# automation tool for WPF, with a little mock up of a pet shop and scenarios around the pet shop. The scenarios are a bit lower level than I'd recommend (focus on capabilities, not details) - but you should get the idea of how to start, at least.
The unit-level code is also worked using BDD, focusing on examples of behavior rather than testing methods.
Both scenarios and class-level examples are written using plain old NUnit. BDD really isn't about the tools.
As Zsolt suggested, we did develop JBehave using BDD but I think the scenarios are less comprehensive there and it's hard to set up without delving into Maven-land (sorry!)
The Should assertion library is using MSpec: http://should.codeplex.com/ (at least, the fluent should interface is test with mspec. I haven't looked at it all)
Orchard CMS is using SpecFlow http://www.orchardproject.net/
The Play framework uses BDD for testing, but that's in Scala
https://github.com/playframework/playframework/blob/master/framework/src/play-json/src/test/scala/play/api/libs/json/JsonTransSpec.scala
Spring Content is using Ginkgo4j - a Java port of Ruby's RSpec BDD Framework.
精彩评论