Various software vendors have produced some useful Visual Studio tooling to help TDD and BDD for developers.
They range from automatic build and running of affected tests on save to showing you the location of failing tests and code coverage figures within the coding IDE.
If you would like a demo project with tests to try out some of these tools you can download the following solution:
And, (for me) the winner is…
NCrunch for Visual Studio 2010
NCrunch is an automated parallel continuous testing tool for Visual Studio .NET. It intelligently takes responsibility for running automated tests so that you don't have to, and it gives you a huge amount of useful information about your tests (such as code coverage and performance metrics) inline in your IDE while you work.
Here are the rest:
Continuous Testing for Visual Studio 2010
- MSTest for Visual Studio 2010
- NUnit v2.5 or later
- XUnit v1.5 or later
Continuous Testing for Visual Studio auto-detects your unit tests and runs them each time you build your solution. It adds an error to your error list for each test that fails, allowing you to navigate to the line of the test that failed, just like you would navigate from a compile error.
Continuous Testing removes a manual step for you, making your workflow far more efficient.
There is a free version and a professional paid version with various enhancements such as auto ordering tests and aborting a test run on a first test failure.
Demon from RedGate
Demon takes over the Visual Studio build to compile and run tests only for code that has changed. See the nice green bar down the left side gutter (to the right of the collapse +/-)? That’s what Demon adds to show your changes are all good. If your changes result in tests breaking it changes to red. It’s still in beta and doesn’t seem to be successful all the time but hopefully by the time it comes out of beta this may well become a must have tool.
Mighty Moose from Continuous Tests
Again, this tool runs tests on build only for code that has changed. You also get code coverage numbers in the left hand side gutter to give you a heads up on how many tests cover the overall method.
And, here’s some old school tooling
Here is a few quick screenshot reminders for anyone that hasn’t already used ReShaper, TestDriven.NET and NCover tools:
ReSharper from JetBrains
You get a nice visual test runner with ReSharper, plus the nice icons next to each test in the coding IDE to allow individual running or debugging of tests or test cases. Test cases are where you use the same test with multiple attributes above the method signature to pass in different test cases.