A while back, I wrote a blog post, A quick introduction to Nant, which gave, well, a quick introduction to building C# libraries using NAnt.
Since then, I’ve been using NAnt to do a lot more — notably, to run unit tests and to report on test coverage (using NCover and NCoverExplorer). The usage is pretty straightforward, and I think you’ll see how each step builds on the previous step.
- To run a default build (excluding unit tests):
nant
- To build all projects and unit tests (but don’t run :
nant build-tests
- To build all projects and unit tests, and run tests using NUnit:
nant test
- To build all projects and unit tests, and run tests using NCover to generate coverage reports:
nant cover
- To build all projects and unit tests, run tests using NCover to generate coverage reports, and open those reports in NCoverExplorer:
nant coverex
The sample below is my NAnt build file. A few notes first.
- There are only two projects referenced: Project1 and Project1.Tests. Repeat the appropriate sections to build against additional projects.
- nunit-console.exe is expected to be in the system path.
- nunit-console.exe, ncover.console.exe, and ncoverexplorer.exe are expected to be in the system path. I recommend you download and install TestDriven.Net to have all of these in a convenient place.
Now, on to the build file. It should be self-explanatory, but I added some XML comments for your convenience.