A while back I had a build script used to build a project from its sources and run automatic tests on that code. Each time a new test assembly was added I needed to add a line to my build script to run that assembly. From time to time I forgot to update my build script causing a test suite not to run. I wished there was an automatic way to cause all of the project’s tests to run without me having to specify each assembly explicitly.
Fast forward a few months – to when I discovered IronPython and found out about Python-Nose - a test discovery tool. This seemed like a very good idea – point it to a specific location and it would be able to run all of the tests within.
Because I really wanted a such tool and because I’m convinced that other developers will find it useful I’ve decided to start an open source project - #Nose.
This is only the beginning and as such I still have some way to go. Currently only running NUnit tests and running using TMockRunner (Isolator) are supported – mainly because these are the capabilities I needed in a project I’m working on.
Adding additional framework support should be easy – and because MEF is used for the plug-in development. I can be done by anyone.
Step 1: Configure the location of the needed “test runners” in SharpNose.exe.config that looks like this:
Under testRunners are the currently available runners – just make sure the path is correct. And if you are not familiar with one of the runners – leave it as it is.
Step2: Run #Nose - the only parameter you need to give it is the target directory.
SharpNose can be downloaded from it page on Codeplex.
I was thinking on adding MSTest support but I would really like to hear what you think – should I improve performance? perhaps there is a killer feature I need to add?
And don’t forget the let me know if you find this program useful.
Labels: .NET, Tools, Unit tests