Как я могу получить покрытие кода из нескольких проектов
У меня есть решение с 4 проектами (2 обычных и 2 тестовых проекта). У меня есть конвейер сборки в TFS 2018, который строит мое решение и проверяет покрытие кода. Моя проблема в том, что сообщается только о покрытии кода из одного проекта. Покрытие кода из другого проекта отсутствует. Все тесты запускаются.
Шаг Visual Studio Test выглядит следующим образом:
Соответствующие разделы файла.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.9470455ZC: \ 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 Испытания gesamt: 128. Bestanden: 128. Fehler: 0. Übersprungen: 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
2018-11-19T13:19:54.6095328Z ##[section] Асинхронная команда Конец: Опубликовать результаты теста
2018-11-19T13:19:54.6096656Z ##[раздел] Отделка: VsTest
0 ответов
Я наконец нашел ответ.
В разделе Include файла.runsettings у меня было следующее:
<Include>
<ModulePath>.*\.dll$</ModulePath>
</Include>
Это означает, что оцениваются только сборки.dll. Чтобы также включить сборки.exe, вы должны написать следующее:
<Include>
<ModulePath>.*\.dll$</ModulePath>
<ModulePath>.*\.exe$</ModulePath>
</Include>