CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Jeremy D. Miller -- The Shade Tree Developer

Under the hood and working with .Net, TDD, Software Design, and Agile Stuff

NSpec - BDD comes to the .Net world

I saw this this morning --> http://nspec.tigris.org/

If you haven't seen it before, think of Behavior Driven Development as a refined version of TDD.  Most of the writings on BDD I've seen so far are geared towards Ruby and other dynamic languages.  I honestly didn't think this was going to be possible in a static language.  I'm definitely going to give NSpec a spin soon.



Comments

Jeremy D. Miller said:

Aaron,

I don't know yet.  I've only read enough to be interested.  I think I'll get a chance to see some of it at No Fluff, Just Stuff in Austin soon.  I've been meaning to play with RSpec in Ruby to try it out, but haven't gotten around to it.

Jeremy
# June 27, 2006 2:19 PM

Tony said:

Aaron beat me to the punch, but I was wondering the same thing.  

When I first heard about BDD at behaviour-driven.org, BDD seemed to be much more.  This might be a result of the imaturity of the NSpec project, but the example that they present seems to be a dolled up unit test (or it could be a result of my ignorance on BDD).

Jeremy, I'd love to read more about it if you do get a chance to get some info at No Fluff, Just Stuff.

Also, I didn't know about RSpec as I'm just now starting to learn Ruby.  I'll have to take a look at that as well.
# June 27, 2006 2:27 PM

Sachin Rao said:

Jeremy,

I haven't read much about BDD, so I must admit I'm unsure of its purpose.  Having said that, I always thought a Design By Contract framework in conjunction with TDD would be a great way of providing specifications and defining behaviour:

http://research.microsoft.com/specsharp/

I'm kinda hoping this comes out in the mainstream soon.

Sachin
# June 27, 2006 4:50 PM

Jeremy D. Miller said:

I've never thought that DBC goes far enough, but I've always wished MS was add DBC to .Net through declarative attributes.  I hate the way copious amounts of defensive coding makes code harder to read.
# June 27, 2006 5:02 PM

Sachin Rao said:

Funny, 'cuz I've always thought too many attributes make code harder to read.  :)

I'm not sure if extending method signatures qualifies as defensive coding.  Spec# or any such product would be, after all, just a language extension.

Anyways, would be interesting to know how NSpec complements an existing unit testing framework.
# June 27, 2006 5:28 PM

Joshua Flanagan said:

It is my impression that it IS just a syntax change from NUnit, but that should be no reason to dismiss it. I think they make a compelling argument in the short introduction on the main page (bullet #2 really hit home). Something to keep an eye on...
# June 27, 2006 11:11 PM

Greg said:

I have used spec# on a few apps already. Wonderful does not begin to describe it.

# July 2, 2006 3:39 PM

Garth said:

You should check out rbehave dannorth.net/.../introducing-rbehave, this is I think how BDD should be implemented and Agile Joe has been trying to port it over to .NET take a look at his recent post www.lostechies.com/.../introducing-nunit-behave-or-insert-what-ever-other-catchy-name.aspx

# July 11, 2007 5:13 AM

OpenSource Connections » Blog Archive » Ramping Up .Net For BDD and Unit Testing With Gallio, NBehave, and Moq said:

Pingback from  OpenSource Connections  » Blog Archive   » Ramping Up .Net For BDD and Unit Testing With Gallio, NBehave, and Moq

# March 19, 2008 11:44 PM

neil martin said:

Intent is so importent , your code is driven form your intent these frameworks help you align you rin tent and hence your code with the storys and acceptance criteria.

# July 17, 2008 8:01 AM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add

About Jeremy D. Miller

Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy previously worked as a systems architect building mission critical supply chain software for a Fortune 100 company and learned agile development practices as a .Net consultant at ThoughtWorks, one of the pioneers of agile development. Jeremy is the author of the open source StructureMap (http://structuremap.sourceforge.net) tool for Dependency Injection with .Net and the forthcoming StoryTeller (http://storyteller.tigris.org) tool for supercharged FIT testing in .Net. Jeremy's thoughts on just about everything software related can be found on his weblog "The Shade Tree Developer" at http://codebetter.com/blogs/jeremy.miller, part of the popular CodeBetter site. Jeremy is a Microsoft MVP for C#. Check out Devlicio.us!

This Blog

Syndication

News

All opinions expressed here constitute my (Jeremy D. Miller's) personal opinion, and do not necessarily represent the opinion of any other organization or person, including (but not limited to) my fellow employees, my employer, its clients or their agents.

About Me

"Best Of" Compendium

StructureMap (Dependency Injection for .Net)

StoryTeller (Supercharged Fit)

Build your own Cab

TestDriven

MVP