views:

167

answers:

2

I am responsible for rewriting an internal tool for my company. I am currently reworking the most time consuming step to run faster which should give me time to re-think the design of the application for a full rewrite as the interstitial version will meet the current needs.

I really want to take this opportunity to implement this code using BDD/TDD but I am new to this method of programming in general and especially within the context of .NET. Are there BDD/TDD tools available for .NET? What resources should I look at?

Thank you very much in advance!

Ashish

+1  A: 

Resharper, Nunit, xUnit, MBUnit, are just some of the things that spring to mind.

Resharper because of the nice testrunner and the neat refactorings it can do. (not free)

NUnit because I use that now. (free)

NCover because sometimes you miss a spot. (not free anymore).

Structuremap because IoC/Di is a given. (free)

Rhino mocks because you need to stub and mock. (free)

ASP.Net MVC if you need webdevelopment.

That is just my current stack.

I forgot a few others. But most things that work in C# will now work in VB.Net. And they will work even better in VB.Net 10

chrissie1
tundal45
chrissie1
+2  A: 

As one of the members joked when we discussed BDD at one of our alt.net oresund meetings: "there are more BDD frameworks for .Net, than there are people using them" ;-)

When starting with BDD, or having executable acceptance tests, I recommend to first understand "what's in a story" (i.e. how to define the requirements.

Having nailed a few of those, then you can go find a tool that fits your particular needs in your particular context.

At my current project we chose StoryQ as our BDD tool since we were already using NUnit and TestDriven.Net, and didn't have to add anything but an assembly reference (no separate test runner, etc).

At the aforementioned alt.net meeting, one of the members demonstrated using Cucumber under IronRuby for an app written in C#.

Many people appreciate the way Cucumber turns plain English into requirements, why that might be worth investigating.

Martin R-L