The NAnt script I whipped up runs my Unit Tests and then NCover. This script also brute force's an organization of the assemblies and their testing counter-parts into a clean structure. It may be be a little excessive -- to create test assemblies for each assembly under test -- but it's ok, I know what's what when first looking at it.
There was a post on this blog earlier about Simplest way to setup unit tests in a project. This script follows that convention.
<project default="code-coverage">
<property value="C:\Program Files\NCover\ncover.console.exe" name="ncover.executable"/>
<property value=".\NUnit\nunit-console.exe" name="nunit.console"/>
<property value=".\NCover\Coverage.xsl" name="ncover.stylesheet"/>
<property value="C:\ProjectsDirectory" name="projects.output.dir"/>
<target name="code-coverage">
<foreach property="test.assembly.folder" item="Folder">
<in>
<items>
<include name="${projects.output.dir}\*Test"/>
</items>
</in>
<do>
<regex input="${test.assembly.folder}" pattern="^.*(\\/)(?'asmregex'.*)$">
<property value="${asmregex}" name="assembly.test.name"/>
<property value="${string::replace(asmregex,'.Test','')}"name="assembly.under.test.name"/>
<property value="${projects.output.dir}\${assembly.test.name}\bin\Debug\${assembly.test.name}.dll //l Reports\Coverage.Log //a ${assembly.under.test.name}" name="ncover.path.arg"/>
<exec commandline="${nunit.console} ${ncover.path.arg} " program="${ncover.executable}"/>
<style style="{ncover.stylesheet}" out="Reports\${assembly.under.test.name}-Coverage.html" in="Coverage.xml$">
</do>
</foreach>
</target>
</project>