Как я могу получить покрытие кода из нескольких проектов - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть решение с 4 проектами (2 обычных и 2 тестовых проекта). У меня есть конвейер сборки в TFS 2018, который строит мое решение и проверяет покрытие кода. Моя проблема в том, что сообщается только о покрытии кода из одного проекта. Покрытие кода из другого проекта отсутствует. Все тесты запущены.

Шаг теста Visual Studio выглядит следующим образом:

enter image description here

Соответствующие разделы файла .runsettings выглядят так:

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <DataCollectionRunSettings>
    <DataCollectors>
      <DataCollector friendlyName="Code Coverage" uri="datacollector://Microsoft/CodeCoverage/2.0" assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
        <Configuration>
          <CodeCoverage>
            <ModulePaths>
              <Include>
                <ModulePath>.*\.dll$</ModulePath>
              </Include>
              <Exclude>
                <ModulePath>.*CPPUnitTestFramework.*</ModulePath>
                <ModulePath>.*moq.dll</ModulePath>
                <ModulePath>.*Tests.dll</ModulePath>
              </Exclude>
            </ModulePaths>

        <!-- We recommend you do not change the following values: -->
        <UseVerifiableInstrumentation>False</UseVerifiableInstrumentation>
        <AllowLowIntegrityProcesses>True</AllowLowIntegrityProcesses>
        <CollectFromChildProcesses>True</CollectFromChildProcesses>
        <CollectAspDotNet>False</CollectAspDotNet>

      </CodeCoverage>
    </Configuration>
  </DataCollector>
</DataCollectors>

Вот вывод журнала с шага теста:

2018-11-19T13: 19: 41.2308934Z ## [раздел] Начало: VsTest - сетевая рама
2018-11-19T13: 19: 41.2412211Z ======================================= ======================================
2018-11-19T13: 19: 41.2412390Z Задача: тест Visual Studio
2018-11-19T13: 19: 41.2412658Z Описание: Запустите модульные и функциональные тесты (тесты Selenium, Appium, Coded UI и т. Д.) С помощью средства запуска тестов Visual Studio. Также могут быть запущены тестовые среды с тестовым адаптером Visual Studio, таким как xUnit, NUnit, Chutzpah и т. Д. С помощью этой задачи можно распределить тесты по нескольким агентам (версия 2).
2018-11-19T13: 19: 41.2412934Z Версия: 2.3.28
2018-11-19T13: 19: 41.2413056Z Автор: Microsoft Corporation
2018-11-19T13: 19: 41.2413412Z Справка: Дополнительная информация
2018-11-19T13: 19: 41.2413616Z ======================================= ======================================
2018-11-19T13: 19: 42.4501863Z Запустите тесты локально, используя vstest.console.exe
2018-11-19T13: 19: 42.4502051Z ======================================= ================
2018-11-19T13: 19: 42.4502460Z Селектор испытаний: Испытательные сборки
2018-11-19T13: 19: 42.4502750Z Тестовые сборки: * * \ release \ * Tests.dll ,! * * \ obj \ * *
2018-11-19T13: 19: 42.4503062Z Критерии фильтра тестирования: пусто
2018-11-19T13: 19: 42.4503281Z Папка поиска: C: \ agent_work \ 1 \ s
2018-11-19T13: 19: 42.4503610Z Запустить файл настроек: C: \ agent_work \ 1 \ s \ MyProject \ CodeCoverage.runsettings
2018-11-19T13: 19: 42.4503933Z Параллельно работать: false
2018-11-19T13: 19: 42.4504212Z Работа в изоляции: false
2018-11-19T13: 19: 42.4505649Z Путь к пользовательским адаптерам: C: \ agent_work \ 1 \ s \ MyProject \ Project2Tests \ bin \ release
2018-11-19T13: 19: 42.4505955Z Другие параметры консоли: ноль
2018-11-19T13: 19: 42.4506168Z Включено покрытие кода: false
2018-11-19T13: 19: 42.4506699Z Rerun не прошел тесты: false
2018-11-19T13: 19: 42.8500173Z Версия VisualStudio, выбранная для выполнения теста: toolsInstaller
2018-11-19T13: 19: 43.0554534Z ======================================= ================
2018-11-19T13: 19: 43.1339450Z [команда] C: \ agent_work_tool \ VsTest \ 15.9.1-preview-20181023-04 \ x64 \ tools \ net451 \ Common7 \ IDE \ Extensions \ TestPlatform \ vstest.console.exe @ C: \ WINDOWS \ SERVIC ~ 3 \ Networ ~ 1 \ AppData \ Local \ Temp \ c6857b51-EBFD-11e8-a1f3-554a7ebf3861.txt
2018-11-19T13: 19: 43.3385913Z Microsoft (R) Testausführungs-Befehlszeilentool Версия 15.9.1-preview-20181023-04
2018-11-19T13: 19: 43.3451743Z Copyright (c) Microsoft Corporation. Alle Rechte vorbehalten.
2018-11-19T13: 19: 43.3452021Z
2018-11-19T13: 19: 43.3612218Z vstest.console.exe
2018-11-19T13: 19: 43.3612440Z "C: \ agent_work \ 1 \ s \ MyProject \ Project1Tests \ bin \ Release \ Project1Tests.dll"
2018-11-19T13: 19: 43.3612731Z "C: \ agent_work \ 1 \ s \ MyProject \ Project2Tests \ bin \ Release \ Project2Tests.dll"
2018-11-19T13: 19: 43.3612945Z /Settings:"C:\agent_work\1\s\MyProject\CodeCoverage.runsettings"
2018-11-19T13: 19: 43.3613085Z / регистратор: "trx"
2018-11-19T13: 19: 43.3613289Z / TestAdapterPath: "C: \ agent_work \ 1 \ s \ MyProject \ Project2Tests \ bin \ release"
2018-11-19T13: 19: 43.6746135Z Die Testausführung wird gestartet, bitte warten ...
2018-11-19T13: 19: 44.9662159Z Средство сбора покрытия Microsoft (R), версия 15.0.30319.3000
2018-11-19T13: 19: 44.9663027Z
2018-11-19T13: 19: 44.9666782Z
2018-11-19T13: 19: 44.9674700Z Copyright (c) Microsoft Corporation. Все права защищены.
2018-11-19T13: 19: 44.9677551Z
2018-11-19T13: 19: 50,3174860Z Bestanden Test1
... множество других тестов ...
2018-11-19T13: 19: 53.3609732Z Средство сбора покрытия Microsoft (R), версия 15.0.30319.3000
2018-11-19T13: 19: 53.3610319Z
2018-11-19T13: 19: 53.3610430Z
2018-11-19T13: 19: 53.3610840Z Copyright (c) Microsoft Corporation. Все права защищены.
2018-11-19T13: 19: 53.3611590Z
2018-11-19T13: 19: 53.8607813Z Bestanden Test2
... больше тестов ...
2018-11-19T13: 19: 53.9355517Z Ergebnisdatei: C: \ agent_work \ 1 \ s \ TestResults \ TFS-BUILD09 $ _TFS-BUILD09_2018-11-19_14_19_50.trx
2018-11-19T13: 19: 53.9358179Z
2018-11-19T13: 19: 53,9451115Z Anlagen:
2018-11-19T13: 19: 53.9470455Z C: \ agent_work \ 1 \ s \ TestResults \ 332a54cb-163b-4b3b-9bd4-2f5a5be70f4e \ TFS-BUILD09 $ _TFS-BUILD09 2018-11-19 14_19_44.coverage
2018-11-19T13: 19: 53.9591330Z
2018-11-19T13: 19: 53.9709295Z Тестирование: 128. Бестанден: 128. Фелер: 0. Уберспрунген: 0.
2018-11-19T13: 19: 53.9741454Z Der Testlauf war erfolgreich.
2018-11-19T13: 19: 53,9781474Z Testausführungszeit: 8,6925 Sekunden
2018-11-19T13: 19: 54.2519255Z Публикация результатов теста для запуска «178»
2018-11-19T13: 19: 54.2519974Z Осталось результатов теста: 128. Идентификатор тестового прогона: 178
2018-11-19T13: 19: 54.3272038Z ## [раздел] Запуск асинхронной команды: публикация результатов теста
2018-11-19T13: 19: 54.6094836Z Опубликованный тестовый прогон: https://xxx/_TestManagement/Runs#runId=178&_a=runCharts
2018-11-19T13: 19: 54.6095328Z ## [section] Асинхронная команда Конец: Опубликовать результаты теста
2018-11-19T13: 19: 54.6096656Z ## [раздел] Отделка: VsTest

1 Ответ

0 голосов
/ 16 июля 2019

Я наконец нашел ответ.

В разделе «Включить» файла .runsettings у меня было следующее:

<Include>
    <ModulePath>.*\.dll$</ModulePath>
</Include>

Это означает, что только .dll-сборки используютсяоценены.Чтобы также включить .exe-сборки, вы должны написать следующее:

<Include>
    <ModulePath>.*\.dll$</ModulePath>
    <ModulePath>.*\.exe$</ModulePath>
</Include>
...