I’ve come across a few utilities that attempt to make life easier to do testing and automation and I figured I’d get them all down in one place. This is all for C# development BTW. That is currently the only language I’m doing development with at home.
NUnit
Ever wanted to test something you’ve written in a small stand-alone app so that you don’t have to test it in your huge project? Isn’t it such a pain? You’ve got to create a solution, write your main(), make sure you include all your libs… NUnit makes all of that setup painless. You just write your test function and run NUnit, it takes care of setting most everything up. Easy!
Test-Driven Development in .NET - a good tutorial for getting started with NUnit
Test Runner - NUnit VS.Net plugin. Run the tests that you write inside the debugger.
FxCop
I’ve always liked the idea of code analyzers (like lint, etc), but every time I’ve run them, they were so ultra-paranoid, it was almost worthless. Well, here’s the main code analyzer for use with C# programs. I haven’t run my code through it yet, maybe I shouldn’t be recommending it until I do.
Maybe I’ll do an update later on to let you know how well it does (or should I say, how well I write my code!)
FxCop Homepage
CC.Net
This utility tries to put together a fully automated, checked build in a semi-intelligent way. Imagine a system that detects when a change has been checked into your database, pulls the latest copy, compiles it, tests it with your unit tests, revs the version number, and then posts it into your daily builds directory for you to download. Amazing if it works. I plan on giving it a try.
CC.Net Homepage
Versioning Nightly Builds with NAnt and CC.Net - MS Blog article mentioning the util.
Versioning with CruiseControl.Net - This guy is doing a lot of work with CC.Net (is he the dev?)
CruiseControl.NET and MSBuild - [Added 10-8-04]
[Edited 10-8-04 - Added another CC.Net link]
NUnit!