Tfs build vnext не может опубликовать результаты тестирования

#tfs #nunit #tfsbuild #tfs-2015 #nunit-3.0

#tfs #nunit #tfsbuild #tfs-2015 #nunit-3.0

Вопрос:

У меня есть процесс с TFS Build Vnext с 2 этапами тестирования (также сборка решения, … но это не проблема), один этап тестирования предназначен для модульных тестов, а другой — для интеграционных тестов.

Шаг с интеграционными тестами в порядке, никаких проблем с публикацией тестов в TFS в конце шага нет, у меня есть диаграммы в сводке сборки.

Однако для шага с модульными тестами TFS не может опубликовать результаты, у меня есть это предупреждение в выходных данных сборки :

Не удалось опубликовать результаты тестирования: Значение StartDate не входит в число допустимых значений.

Я не понимал, почему у меня был этот вывод, пока не открыл файл результатов теста trx.

файл.trx :

 <Times creation="2016-10-17T12:08:09.1454974 02:00" queuing="2016-10-17T12:08:09.1454974 02:00" start="0001-01-01 00:00:00Z" finish="2016-10-17T12:09:26.9725722 02:00" />
 

TFS не влияет на правильное значение атрибута start во времена узла.
Почему ?
У меня есть ~ 80 интеграционных тестов и ~ 1400 модульных тестов, это количество модульных тестов? или что-то еще ?

Я попытался удалить этап модульных тестов и воссоздать его заново.

Техническая информация: Тестовая платформа :

  • Nunit 3.5.0 с адаптером тестирования Nunit VS 3.4.1
  • TFS 2015 с соблюдением всех требований
  • Используемая задача : Тест Visual Studio

Например, я попытался понизить Nunit до версии 3.4.1, чтобы соответствовать версии с адаптером, это ничего не изменило.

Конфигурация тестовой задачи (одинаковая конфигурация для обеих тестовых задач):

  • Параметры выполнения :
    • Тестовая сборка: одна сборка
    • Запустите файл настроек: см. Ниже
    • Включено покрытие кода: true
    • Запуск параллельно: true
  • Дополнительные параметры выполнения :
    • Версия VSTest: VS 2015
  • Параметры отчетов :
    • Платформа: любой процессор
    • Конфигурация: выпуск
    • Загрузка тестовых вложений: верно

Файл RunSettings :

 <?xml version="1.0" encoding="utf-8"?>
<!-- File name extension must be .runsettings -->
<RunSettings>
  <RunConfiguration>
    <TreatTestAdapterErrorsAsWarnings>true</TreatTestAdapterErrorsAsWarnings>
    <ResultsDirectory>.TestResults</ResultsDirectory>
  </RunConfiguration>
  <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>
            <!--
            About include/exclude lists:
            Empty "Include" clauses imply all; empty "Exclude" clauses imply none.
            Each element in the list is a regular expression (ECMAScript syntax). See http://msdn.microsoft.com/library/2k3te2cs.aspx.
            An item must first match at least one entry in the include list to be included.
            Included items must then not match any entries in the exclude list to remain included.
            -->

            <!-- Match assembly file paths: -->
            <ModulePaths>
              <Include>
                <ModulePath>.*.dll

lt;/ModulePath>
<ModulePath>.*.exe


lt;/ModulePath>
</Include>
<Exclude>
<ModulePath>.*tests.*.dll</ModulePath>
</Exclude>
</ModulePaths>

<!-- Match fully qualified names of functions: -->
<!-- (Use "." to delimit namespaces in C# or Visual Basic, "::" in C .) -->
<Functions>
<Exclude>
</Exclude>
</Functions>

<!-- Match attributes on any code element: -->
<Attributes>
<Exclude>
<!-- Don't forget "Attribute" at the end of the name -->

<Attribute>^System.Diagnostics.DebuggerHiddenAttribute


lt;/Attribute>
<Attribute>^System.Diagnostics.DebuggerNonUserCodeAttribute


lt;/Attribute>
<Attribute>^System.Runtime.CompilerServices.CompilerGeneratedAttribute


lt;/Attribute>
<Attribute>^System.CodeDom.Compiler.GeneratedCodeAttribute


lt;/Attribute>
<Attribute>^System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute


lt;/Attribute>
</Exclude>
</Attributes>

<!-- Match the path of the source files in which each method is defined: -->
<Sources>
<Exclude>
<Source>.*\atlmfc\.*</Source>
<Source>.*\vctools\.*</Source>
<Source>.*\public\sdk\.*</Source>
<Source>.*\microsoft sdks\.*</Source>
<Source>.*\vc\include\.*</Source>
</Exclude>
</Sources>

<!-- Match the company name property in the assembly: -->
<CompanyNames>
<Exclude>
<CompanyName>.*microsoft.*</CompanyName>
</Exclude>
</CompanyNames>

<!-- Match the public key token of a signed assembly: -->
<PublicKeyTokens>
<!-- Exclude Visual Studio extensions: -->
<Exclude>
<PublicKeyToken>^B77A5C561934E089


lt;/PublicKeyToken>
<PublicKeyToken>^B03F5F7F11D50A3A


lt;/PublicKeyToken>
<PublicKeyToken>^31BF3856AD364E35


lt;/PublicKeyToken>
<PublicKeyToken>^89845DCD8080CC91


lt;/PublicKeyToken>
<PublicKeyToken>^71E9BCE111E9429C


lt;/PublicKeyToken>
<PublicKeyToken>^8F50407C4E9E73B6


lt;/PublicKeyToken>
<PublicKeyToken>^E361AF139669C375


lt;/PublicKeyToken>
</Exclude>
</PublicKeyTokens>

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

</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>

Журналы тестовых задач (французский) :

 2016-10-18T07:54:21.4325873Z Exécution du script PowerShell : C:agenttasksVSTest1.0.32VSTest.ps1
2016-10-18T07:54:21.5107118Z ##[debug]Calling Invoke-VSTest for all test assemblies
2016-10-18T07:54:21.6669608Z Working folder: C:agent_work4
2016-10-18T07:54:21.6669608Z Executing C:Program Files (x86)Microsoft Visual Studio 14.0Common7IDECommonExtensionsMicrosoftTestWindowvstest.console.exe "C:agent_work4sEDM 1-devPrograms and ComponentsAPIArchimed.Edm.TestsbinReleaseArchimed.Edm.UnitTests.dll"  /Settings:"C:UsersTFSBUILDAppDataLocalTemptmpAE1E.tmp" /EnableCodeCoverage /logger:trx /TestAdapterPath:"C:agent_work4s"
2016-10-18T07:54:21.8700845Z Microsoft (R) Test Execution Command Line Tool Version 14.0.25123.0
2016-10-18T07:54:21.8700845Z Copyright (c) Microsoft Corporation.  Tous droits réservés.
2016-10-18T07:54:22.2138323Z Démarrage de l'exécution du test, veuillez patienter...
2016-10-18T07:54:27.4169240Z Informations : NUnit Adapter 3.4.1.0: Test execution started
2016-10-18T07:54:27.4325489Z Informations : Running all tests in C:agent_work4s........binReleaseUnitTests.dll
2016-10-18T07:54:28.9169144Z Informations : NUnit3TestExecutor converted 1265 of 1265 NUnit test cases
... Tests
2016-10-18T07:55:44.9787034Z Informations : NUnit Adapter 3.4.1.0: Test execution complete
... Tests
2016-10-18T07:55:45.5724420Z Fichier de résultats : C:UsersTFSBUILDAppDataLocalTempTestResultstfsbuild_TFSBUILD-GED 2016-10-18 09_54_31.trx
2016-10-18T07:55:45.5724420Z Pièces jointes :
2016-10-18T07:55:45.5724420Z   C:UsersTFSBUILDAppDataLocalTempTestResultseb407547-19e7-4485-8b35-44f8e51f344etfsbuild_TFSBUILD-GED 2016-10-18 09_54_24.coverage
2016-10-18T07:55:45.5724420Z Nombre total de tests : 1265. Réussite : 1241. Échec : 0. Ignorés : 0.
2016-10-18T07:55:45.5724420Z Test correctement exécuté.
2016-10-18T07:55:45.5724420Z Délai d'exécution des tests : 1,3805 Minutes
2016-10-18T07:55:45.6974396Z Publication des résultats des tests...
2016-10-18T07:55:46.1505559Z ##[warning]Échec de la publication des résultats des tests : La valeur de la propriété startDate ne fait pas partie des valeurs admises pour cette dernière.
 

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

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

2. Можете ли вы предоставить доступ к журналам сборки для этой задачи?

Ответ №1:

Я ничего не менял, настройки задачи или настройки tfs. Теперь это работает. Я не понимаю.