4

Я использую TFS 2015 с CI и после успешной сборки для x64 модульный тест должен быть запущен в x64. Но вместо этого они запускаются в x86, что приводит к сбою большинства тестов. test configurationTFS 2015 с x64 Единичные тесты

Чтобы построить для x64, было достаточно установить переменную $ (BuildPlatform) на x64, но для теста это не имеет никакого эффекта.

я получаю выход для теста, как это:

2016-05-03T06:42:38.7749398Z Microsoft (R) Test Execution Command Line Tool Version 14.0.25123.0 2016-05-03T06:42:38.7749398Z Copyright (c) Microsoft Corporation. All rights reserved. 2016-05-03T06:42:38.9155623Z Starting test execution, please wait... 2016-05-03T06:42:39.4155556Z Test run will use DLL(s) built for framework Framework45 and platform X86. Following DLL(s) will not be part of run: ...

Что я должен сделать, чтобы получить TFS для тестирования с x64?

Thx для вашей помощи!

ответ

5

Найдено ответов: Вам нужен файл test.runsettings, где указан x64.

<?xml version="1.0" encoding="utf-8"?> 

<!-- File name extension must be .runsettings --> 

<RunSettings> 
    <RunConfiguration> 
    <MaxCpuCount>4</MaxCpuCount> 
    <!-- Path relative to solution directory --> 
    <ResultsDirectory>.\TestResults</ResultsDirectory> 

    <!-- [x86] | x64 
    - You can also change it from menu Test, Test Settings, Default Processor Architecture --> 
    <TargetPlatform>x64</TargetPlatform> 

    <!-- Framework35 | [Framework40] | Framework45 --> 
    <TargetFrameworkVersion>Framework45</TargetFrameworkVersion> 
    </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> 
      <ModulePaths> 
       <Include> 
       <ModulePath>.*\.dll$</ModulePath> 
       </Include> 
       <Exclude> 
       <ModulePath>.*CPPUnitTestFramework.*</ModulePath> 
       </Exclude> 
      </ModulePaths> 
      <Attributes> 
       <Exclude> 
       <!-- Don’t forget "Attribute" at the end of the name --> 
       <Attribute>^System.Diagnostics.DebuggerHiddenAttribute$</Attribute> 
       <Attribute>^System.Diagnostics.DebuggerNonUserCodeAttribute$</Attribute> 
       <Attribute>^System.Runtime.CompilerServices.CompilerGeneratedAttribute$</Attribute> 
       <Attribute>^System.CodeDom.Compiler.GeneratedCodeAttribute$</Attribute> 
       <Attribute>^System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute$</Attribute> 
       </Exclude> 
      </Attributes> 
      <UseVerifiableInstrumentation>True</UseVerifiableInstrumentation> 
      <AllowLowIntegrityProcesses>True</AllowLowIntegrityProcesses> 
      <CollectFromChildProcesses>True</CollectFromChildProcesses> 
      <CollectAspDotNet>False</CollectAspDotNet> 
      </CodeCoverage> 
     </Configuration> 
     </DataCollector> 
    </DataCollectors> 
    </DataCollectionRunSettings> 
</RunSettings> 
+0

Добавляя к этому, ваши проекты должны использовать ту же версию .Net – user2023861

 Смежные вопросы

  • Нет связанных вопросов^_^