Reviews

Review: HarnessIt

HarnessIt 1.4.0.2
$129
United Binary, LLC
Overland Park, Kansas
(913) 897-9209
www.unittesting.com

If you've been reading Developer Central for any length of time, you know I'm a fan of automated unit testing: writing short tests for every bit of functionality in your application that you can test this way, and running through the tests on a frequent basis to be sure that you haven't broken anything. And you probably also know that there are a couple of good free unit testing frameworks for .NET out there. So the question is: what do you get here for your money?

Quite a lot, actually. For starters, you get excellent documentation that will walk you through some advanced testing scenarios, such as testing events, multithreaded applications, or COM components called from .NET. You also get a user interface that shows more details than those of the free equivalents, as well as some handy timesavers like checkboxes so you can selectively enable or disable tests (and these settings are persisted in the HarnessIt project file).

Another very nice touch is the inclusion of some alternative testing engines. These allow you to test ASP.NET applications (very difficult using NUnit), as well as remote applications. You can also run tests from inside your application, in its own AppDomain, which is sometimes important to make the results come out the way that they're expected.

HarnessIt is also designed to put in some additional power (at the cost, admittedly, of some complexity). You can specify an ordering for your tests when it matters, rather than relying on a simple setup-tear down-test order. You can also turn on exception testing in the middle of a method, instead of saying that you expect an exception to come from somewhere in the method.

HarnessIt is also excellent at collecting information from tests and displaying it to you. In addition to its own detailed reporting window, it makes available an object that any test can use to output arbitrary strings to the HarnessIt user interface. You can also see the standard Trace and Debug .NET output.

All in all, HarnessIt is quite a ways ahead of the current versions of the free alternatives that I've tried. If you're a serious unit tester, you should grab the 30-day trial version from their Web site and see whether it convinces you to spend some money.

About the Author

Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.