【问题标题】:Why is NCover ignoring my assemblies?为什么 NCover 会忽略我的程序集?
【发布时间】:2011-04-08 17:17:46
【问题描述】:

我正在使用 NAnt 通过 TeamCity 运行我的构建。构建运行没有任何问题。它还向我显示所有测试都已通过。 NCover 创建了覆盖 xml 文件。有很多关于 mspec 用于在其中运行测试的组件的信息,但没有关于我的代码的任何信息。生成 Html 报告时,我的模块完全丢失了。对我来说,这真的很奇怪。 有人可以帮助我吗?

NAnt 目标:

<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>

【问题讨论】:

    标签: nant teamcity ncover mspec


    【解决方案1】:

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

    【讨论】:

    • 是的,我愿意。在每次测试运行之前,使用调试符号重建程序集。我已经比较了时间戳,所以这应该不是问题。
    • dll 和 pdb 是否来自不同的机器?如果是,操作系统是否完全相同?
    • 不,它们是在 ncover 启动前几秒钟由 teamcity 在同一构建步骤中编译的。 src\Mock2Dgs.Tests\bin\Debug\Mock2Dgs.Tests.dll 有明确的 dll 和 pdb。他们都来自同一个版本。 ncover 是否有可能与 clr4 有问题?
    【解决方案2】:

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

    【讨论】:

    • ncover.console.exe -v 告诉我以下内容:NCover Complete v3.3.2 x86
    猜你喜欢
    • 2014-01-18
    • 2017-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    相关资源
    最近更新 更多