GenesisEngine: Behavior-oriented Language

Update: this blog is no longer active. For new posts and RSS subscriptions, please go to http://saintgimp.org. As I wrote in my previous post, BDD is largely about preserving the flow of intent from your user stories to your unit tests (specifications, in BDD parlance) to your product code.  As developers, we’re in the habit…

0

BDD Unit Testing is Not That Complicated

Update: this blog is no longer active. For new posts and RSS subscriptions, please go to http://saintgimp.org. One of the first sessions at the Alt.Net Seattle conference was one on Behavior-Driven Development, or BDD.  Actually, we had three suggested sessions all related to BDD that we combined into one session, which was probably a bit…

1

My BDD Naming Macro

Update: this blog is no longer active. For new posts and RSS subscriptions, please go to http://saintgimp.org. Over the years several people have shared the Visual Studio macros they use to make the BDD boxcar naming style easier to work with.  I thought I’d add my own, not because it’s any better than the others…

2

MSpec is Fantastic!

Update: this blog is no longer active. For new posts and RSS subscriptions, please go to http://saintgimp.org. I’ve previously written about the Behavior-Driven Development style of TDD and about how to use such a style in MSTest.  I’ve done this on several personal and business projects and it’s worked pretty well, but I recently got…

4

BDD Specification Extensions

Update: this blog is no longer active. For new posts and RSS subscriptions, please go to http://saintgimp.org. A few people have asked me for more details on the specification extension methods we use to make our BDD tests more readable.  As I mentioned previously, SpecUnit.net is a great library that has all kinds of useful…

4

Handling Exception in BDD-style Tests

Update: this blog is no longer active. For new posts and RSS subscriptions, please go to http://saintgimp.org. Exceptions cause problems with BDD-style tests in the MSTest environment.  The MSTest [ExpectedException] doesn’t work well in this case since the exception will be thrown in the BecauseOf() method, which MSTest considers to be part of the initialization,…

1

BDD With MSTest

Update: this blog is no longer active. For new posts and RSS subscriptions, please go to http://saintgimp.org. In my previous post I mentioned that I was writing BDD-style unit tests in the standard MSTest environment that’s part of Visual Studio.  In an ideal world, I’d probably choose to use a test framework explicitly designed for…

8

Writing Unit Tests That People Can Read

Update: this blog is no longer active. For new posts and RSS subscriptions, please go to http://saintgimp.org. There’s a great quote from Refactoring: Improving the Design Of Existing Code: “Any fool can write code that a computer can understand. Good programmers write code that humans can understand.”  — Martin Fowler Recently, I’ve discovered that it…

1