2011-04-08 32 views
1

我正在使用NAnt以TeamCity运行我的构建。构建运行没有任何问题。它还显示我所有的测试都已通过。 NCover创建了覆盖xml文件。有很多关于mspec用来运行测试的组件的信息,但是没有关于我的代码的信息。当生成Html-Report时,我的模块完全缺失。对我来说这真的很奇怪。 有人能帮助我吗?为什么NCover忽略我的程序集?

的恶性目标:

<target name="teamcity">      
    <ncover program="c:\Program Files\NCover\ncover.Console.exe" 
      testRunnerExe="src\Solutions\packages\Machine.Specifications.0.4.9.0\tools\mspec-clr4.exe" 
      testRunnerArgs="src\Mock2Dgs.Tests\bin\Debug\Mock2Dgs.Tests.dll --teamcity" />   
    <mkdir dir="Artifacts/coverage" /> 
    <exec program="c:\Program Files\NCover\NCoverExplorer.Console.exe" output="ncoverexplorer.log" workingdir="Artifacts/coverage"> 
     <arg value="..\..\Coverage.xml" /> 
     <arg value="/h:coverage" /> 
     <arg value="/r:FullCoverageReport" /> 
     <arg value="/p:${Project.Name}" /> 
     <!--<arg value="/eas:${coverage.ExcludeAssemblies}" />--> 
    </exec> 
</target> 

回答

0

为这种行为的最可能的原因是你没有最新的调试符号可用?你用调试符号编译?

+0

是的,我愿意。在每次测试运行之前,程序集都使用调试符号进行重建。我比较了时间戳,所以不应该成为问题。 – 2011-04-08 21:11:24

+0

来自不同机器的dll和pdbs,如果是这样,os是完全相同的吗? – 2011-04-09 20:41:27

+0

没有它们是由teamcity在ncover开始前几秒钟的相同构建步骤中进行编译的。 src \ Mock2Dgs.Tests \ bin \ Debug \ Mock2Dgs.Tests.dll里有dinit和ddb。它们都来自同一版本。是否有可能ncover与clr4有问题? – 2011-04-11 12:56:21

0

您使用的是什么版本的NCover?从你的命令,它看起来可能是一个较早的版本(可能是1.5.8)。

+0

ncover.console.exe -v告诉我以下内容:NCover Complete v3.3.2 x86 – 2011-04-14 13:25:27