Чтобы распространять тесты на другую машину (удаленный путь), мы должны использовать файл .testsettings. В этом файле мы уже настройки для того, чтобы собрать данные тестового покрытия с помощью:Любой способ опубликовать тестовое покрытие Вернуться к серверу TFS?
<DataCollectors>
<DataCollector uri="datacollector://microsoft/CodeCoverage/1.0" assemblyQualifiedName="Microsoft.VisualStudio.TestTools.CodeCoverage.CoveragePlugIn, Microsoft.VisualStudio.QualityTools.Plugins.CodeCoverage, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" friendlyName="Code Coverage (Visual Studio 2010)">
<Configuration>
<CodeCoverage keyFile="xxx.snk" xmlns="">
<Regular>
<CodeCoverageItem binaryFile="xxx.dll" pdbFile="xxx.pdb" instrumentInPlace="true" />
Но проблема данные охвата теста никогда не публикуется на сервер TFS. При диагностике процесса сборки, результат теста уже могут быть опубликованы в соответствии с лог сборки:
Results file: d:\Builds\xxxx.trx
Test Settings: xxx
Waiting to publish...
Publishing results of test run xxx.trx to https://tfs.xxx/tfs/xxx...
Publish completed successfully.
Кажется, данные покрытия не внутри файла xxx.trx, и сборка не достаточно умен, чтобы выделить их и публиковать. поэтому из резюме сборки мы можем увидеть:
23 modules instrumented - 0% of all code blocks covered
Есть ли способ, чтобы вручную публиковать такие данные или записать обратно результат тестового покрытия обратно на сервер TFS через некоторую TFS API или кодированную деятельность?
[UPDATE] Когда проверьте файл результата теста, кажется, результат сам по себе уже содержат знания о том, как найти файл .coverage:
<ResultSummary outcome="Completed">
<ResultFile path="VM-TEST01\data.coverage" />
<ResultFile path="VM-TEST02\data.coverage" />
Но проблема заключается в MSTest никогда не публиковать их на Сервер TFS!
Предполагая, что вы используете новую систему сборки, шаг VS Test должен делать это автоматически. Однако, если нет, результаты покрытия кода хранятся в файле .coverage. Вам нужно будет включить Code Coverage на этапе сборки. Мой вопрос здесь может помочь (ответьте на него, если сможете!) Http://stackoverflow.com/questions/33752784/tfs-build-2015-not-publishing-test-results – Rodders
Мы не используем новейшую систему сборки по TFS 2015. Основная причина заключается в том, что мы хотим воспользоваться функцией оригинальной, которая может распространять наши тесты на разных машинах или средах с помощью тестового контроллера с несколькими агентами тестирования. – Max
Вы пробовали vstest.console.exe MyTest.dll /logger:TfsPublisher;Collection=http://localhost:8080/tfs/DefaultCollection;TeamProject=MyProject;BuildName=DailyBuild_20121129.1;RunTitle="Проектные тесты с данными покрытия кода "/ EnableCodeCoverage? –