Frictionless Testing with TestDriven.NET, Page 3
But Wait, There's More!
So far, everything I've shown you could be done with any of the major unit testing frameworks, though TestDriven.NET makes it easier by keeping it all under one roof. But TestDriven.NET goes further to provide you with some advanced capabilities as well. For example, if a test fails, it adds an entry to the Visual Studio .NET task list. Double-clicking this entry takes you straight to the failing test. The "Run Test(s)" menu items is also integrated with Solution Explorer, so you can choose to run all the tests in a particular project or class easily.
TestDriven.NET also allows you to choose between in-proc and debugger testing with a simple menu selection. Normally, when you run your tests they just run, and you look to your actual code for problems. But what do you do when you suspect that the test itself might be in error? With TestDriven.NET, you set a breakpoint in the test and choose to run the tests in the debugger, as shown in Figure 3. When the test assembly hits the breakpoint, you can use all the regular debugging tools to figure out what might be wrong. This is possible in other unit testing tools (by attaching the debugger to the external process) but TestDriven.NET makes it a whole lot easier.
Two other features deserve mention as well. First, TestDriven.NET runs in its own process, which means that it's very unlikely to cause side effects with the code that it's testing. This also means that it can be stopped easily - in fact, when you're running tests, there's a Visual Studio .NET menu item to abort the rest of the test run. That's very useful when some test is taking much longer than expected. Second, you can run any method as an "ad-hoc test". Put the cursor inside it and choose to run tests, and you can see the output to the output pane. There are some limits to this facility (notably, there's no way to set input parameters), but it's a great way to experiment quickly with code.
About the Author
Mike Gunderloy is the author of over 20 books and numerous articles on development topics, and the lead developer for Larkware. Check out his latest book, Coder to Developer from Sybex. When he's not writing code, Mike putters in the garden on his farm in eastern Washington state.