Holy cow! Another *DD – man I really must have an IV with that Alt.NET Punch just coursing like a train in my veins! I ask for your patience with this one – cause I think BDD is a really good tool to know – whether you use it or not – knowing the workings of it will allow you to have some intelligent conversation the next time you’re in Austin :).
The Start of BDD
It all started – or so I’ve read – with a guy named Dan North:
I had a problem. While using and teaching agile practices like test-driven development (TDD) on projects in different environments, I kept coming across the same confusion and misunderstandings. Programmers wanted to know where to start, what to test and what not to test, how much to test in one go, what to call their tests, and how to understand why a test fails.
The deeper I got into TDD, the more I felt that my own journey had been less of a wax-on, wax-off process of gradual mastery than a series of blind alleys. I remember thinking “If only someone had told me that!” far more often than I thought “Wow, a door has opened.” I decided it must be possible to present TDD in a way that gets straight to the good stuff and avoids all the pitfalls.
I felt this exact way when learning up on TDD:
Things like that. I still don’t know those answers, but I feel like BDD has helped me see some very interesting ways to address these issues. Moreover, it will help me get along with my PM better – maybe :).
The Usual Caveats
No – I’m not an expert. Please don’t take any of what you’re about to say as guidance. Do take it as queue to find out more. Do ask a lot of questions and Do challenge yourself to see what some people love to use.
Double-click for full screen
How was the transition from TDD to BDD for you? Do you think you could have started off with BDD straightaway or was doing TDD first beneficial to you?
Great post regardless!
http://github.com/machine/machine.specifications/... but can't work out how to download. When I click the download button nothing happens. The download tabs is empty.
I don't know what 'run rake' means but opening the solution file and rebuilding the solution has created a whole bunch of dlls, which looks good.
Write the specs out, with a result of NOT IMPLEMENTED for each
Write just enough code to get each spec to pass
In the section \"It should_be_some_spec\" I'd change it to be \"It should_be_some_spec= () =>\" and then I'd write the \"cart.Items.Count.ShouldEqual(2)\" or whatever.
The \"ShouldEqual\" part here is the extension method on NUnit that IS your unit test.
I have written a few Specs and now have gone back to trying to implement the code. My code has bugs (surprise!). How do I debug? I have tried setting a breakpoint in the Because delegate before the place where the exception is thrown but execution does not stop when I use the mspec runner. I have tried breakpoints in all sorts of places but they are never triggered. Is there a qualifer to the runner that I am missing, or is this just a fact of life?
(Sorry if this post appears twice - intenseDebate said that they lost my comment the first time)
Perhaps, though, now would be a good time to lay out where Kona is going. Will it be another Commerce Starter Kit? Is it simply a tool to explore MVC, TDD, BDD, etc...? Something else? Really, any of the above is a worthwhile experience.
Its not like you're busy or anything :-) BTW, congrats on SubSonic 3 and MVC 1.0 (a little late on both - sorry). They both rock!
Seriously, though, it's an interesting presentation - now I just need to work out how appropriate it is to our way of working, and whther I can convince my colleagues to consider using it.
"I didn’t “quit” Kona either – it belongs to the team I worked on. I can dig you didn’t like it – I didn’t like it much either."
The last part of the quote scares me a bit because I am going live soon with a site that used the MVC Storefront as the starting point of the site. I thought the screencasts were great and learned a lot. This site that is going live is based on the MVC Storefront but I changed it quite a bit - for we are selling AND BUYING items and there were some things I just didn't like and I changed how they were coded. I am just hoping that the little things that I didn't like are the same things that Rob "didn't like".
Rob would it be frowned upon by Microsoft if you did a post that was just a high-level of "If I knew then what I know now" in regards to the MVC Storefront.
I also think I went overboard on the CMS stuff - but it's OK, I was experimenting.
I liked the Storefront bits - I'll hopefully pick that up again in the future. Bertrand and some of the ASP team are running with Kona now.