Почему NCover игнорирует мои сборки?

#nant #teamcity #ncover #mspec

#nant #teamcity #ncover #mspec

Вопрос:

Я использую NAnt для запуска своих сборок с TeamCity. Сборка выполняется без каких-либо проблем. Он также показывает мне, что все тесты пройдены. NCover создал XML-файл покрытия. Есть много информации о компонентах, которые mspec использует для запуска тестов в нем, но нет ничего о моем коде. При генерации Html-отчета мой модуль полностью отсутствует. Для меня это действительно странно. Есть ли кто-нибудь, кто может мне помочь?

Цель NAnt:

 <target name="teamcity">                    
    <ncover program="c:Program FilesNCoverncover.Console.exe"
            testRunnerExe="srcSolutionspackagesMachine.Specifications.0.4.9.0toolsmspec-clr4.exe"
            testRunnerArgs="srcMock2Dgs.TestsbinDebugMock2Dgs.Tests.dll --teamcity" />          
    <mkdir dir="Artifacts/coverage" />
    <exec program="c:Program FilesNCoverNCoverExplorer.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>
  

Ответ №1:

Наиболее вероятная причина такого поведения заключается в том, что у вас нет доступных актуальных символов отладки? Вы компилируете с использованием символов отладки?

Комментарии:

1. Да, это так. Сборки перестраивались с использованием символов отладки перед каждым тестовым запуском. Я сравнил временные метки, так что это не должно быть проблемой.

2. Являются ли библиотеки dll и PDF-файлы с другого компьютера, и если да, то является ли операционная система точно такой же?

3. Нет, они были скомпилированы teamcity на том же этапе сборки, всего за несколько секунд до запуска ncover. srcMock2Dgs.TestsbinDebugMock2Dgs.Tests. dll определенно есть dll и pdb. И они оба из одной версии. Возможно ли, что у ncover проблемы с clr4?

Ответ №2:

Какую версию NCover вы используете? Судя по вашим командам, это, возможно, более ранняя версия (возможно, 1.5.8).

Комментарии:

1. ncover.console.exe -v сообщает мне следующее: NCover Complete v3.3.2 x86