Поделиться через


Настройка модульных тестов с помощью файла .runsettings

Модульных тестов в Visual Studio 2012 можно настроить с помощью файла .runsettings.Например, можно изменить платформы .NET Framework, на котором выполняются тесты, каталог, в котором результаты теста выполнены, и данные, собранные во время тестового запуска.

ПримечаниеПримечание

.runsettings и .testsettings

.runsettings также в Visual Studio 2012.Если вы знакомы с модульными тестами в предыдущих версиях Visual Studio, можно узнать о файлах .testsettings.Можно также использовать .testsettings в Visual Studio 2012, поэтому все конфигурации тестов, написанного для предыдущих выпусков будут работать.Но .testsettings можно использовать только для настройки тесты, созданные для адаптера MSTest.Напротив, .runsettings может использоваться с любые объекты, созданные для расширяемый структуры тестирования модуля в Visual Studio 2012, например xUnit.сеть и NUnit.

Тесты, использующие файлы .testsettings может выполняться медленнее, чем тесты, использующие файлы .runsettings, или для них с помощью файла конфигурации вообще.

Можно по-прежнему требуется файл .testsettings для некоторых видов тестов:

  • Тесты, которые развертываются в лабораторной среде.

  • Производительность веб-сайта и нагрузочные тесты.

  • Настраивающ некоторые типы адаптеров диагностических данных, например IntelliTrace и журнал событий.

Дополнительные сведения о .testsettings см. в разделе Указание параметров тестирования для тестов Visual Studio.

Настраивать тесты с файлом .runsettings

  1. Добавьте XML-файл в решение Visual Studio и переименуйте его таким образом, чтобы его расширение файла будет .runsettings.

  2. Замените содержимое файла с помощью пример.

    Изменяйте значение в собственный.

  3. В меню Тест выберите Параметры тестирования, Выбрать файл параметров теста.

Можно создать несколько файлов .runsettings в решении, и включить или отключить их в разное время с помощью меню Параметры тестирования.

Включение файла параметров запуска

Скопируйте этот файл примера .runsettings

Здесь стандартный файл .runsettings.Каждый элемент файла не обязательно, поскольку каждое значение имеет значение по умолчанию.

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <!-- Configurations that affect the Test Framework -->
  <RunConfiguration>
    <!-- Path relative to solution directory -->
    <ResultsDirectory>.\TestResults</ResultsDirectory>

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

    <!-- Framework35 | [Framework40] | Framework45 -->
    <TargetFrameworkVersion>Framework40</TargetFrameworkVersion>
  </RunConfiguration>
  
  <!-- Configurations for data collectors -->
  <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>
              <Exclude>
                <ModulePath>.*CPPUnitTestFramework.*</ModulePath>
              </Exclude>
            </ModulePaths>
          </CodeCoverage>
        </Configuration>
      </DataCollector>
      
    </DataCollectors>
  </DataCollectionRunSettings>
  
  <!-- Adapter Specific sections -->
  
  <!-- MSTest adapter -->
  <MSTest>
    <MapInconclusiveToFailed>True</MapInconclusiveToFailed>
    <CaptureTraceOutput>false</CaptureTraceOutput>
    <DeleteDeploymentDirectoryAfterTestRunIsComplete>False</DeleteDeploymentDirectoryAfterTestRunIsComplete>
    <DeploymentEnabled>False</DeploymentEnabled>
  </MSTest>
  
  
</RunSettings>

Оставшаяся часть этого раздела описано содержимое файла.

Правка файл .runsettings

Файл .runsettings имеет следующие элементы.

JJ635153.collapse_all(ru-ru,VS.110).gifКонфигурация тестового запуска

Узел

Default

Значения

ResultsDirectory

Каталог, где результаты тестов помещаются.

TargetFrameworkVersion

Framework40

Framework35, Framework40, Framework45

Указывает версию структуры тестирования модуля используется для обнаружения и выполнения тестов.Он может отличаться от версии платформы .NET, указанная в свойствах построения проекта модульного теста.

TargetPlatform

x86

x86, x64

TreatTestAdapterErrorsAsWarnings

false

значение true, false

JJ635153.collapse_all(ru-ru,VS.110).gifАдаптеры диагностических данных (сборщики данных)

Элемент DataCollectors определяет параметры адаптеров диагностических данных.Адаптеры диагностических данных используются для сбора дополнительных сведений о среде и тестируемом приложении.Адаптер имеет параметры по умолчанию и нужно только параметры, если использовать по умолчанию.

JJ635153.collapse_all(ru-ru,VS.110).gifАдаптер покрытия кода

Сборник данных о покрытии кода создает журнал, какие части кода приложения были охвачены в тесте.Дополнительные сведения о настраивать параметры для покрытия кода см. в разделе Настройка анализа покрытия кода.

JJ635153.collapse_all(ru-ru,VS.110).gifДругие адаптеры диагностических данных

Адаптер покрытия кода в настоящее время единственным адаптера, который может быть настраивается с помощью файла параметров запуска.

Настраивать любой другой тип адаптера диагностических данных, необходимо использовать файл параметров тестирования.Для получения дополнительной информации см. Указание параметров тестирования для тестов Visual Studio.

JJ635153.collapse_all(ru-ru,VS.110).gifПараметры запуска MSTest

Эти параметры относятся к адаптеру тестов, выполняющий методы теста, которые имеют атрибут [TestMethod].

Конфигурация.

Default

Значения

ForcedLegacyMode

false

В Visual Studio 2012, адаптер MSTest был оптимизирован, чтобы сделать его более быстро и более масштабируемым.Некоторые расширения функциональности, например порядок, в котором выполняются тесты, не может быть точно в том виде, как он был в предыдущих выпусках Visual Studio.Задайте значение true для использования старого адаптера теста.

Например, можно использовать этот параметр, если имеется файл файла, определенный для модульного теста.

Рекомендуется просмотреть выполнения тестов, что позволяет использовать более нового адаптера.

IgnoreTestImpact

false

Функция влияния на тесты назначить тестов, затронутых изменениями шесть при выполнении в MSTest или в Microsoft Test Manager.Этот параметр отключение функции.Для получения дополнительной информации см. Практическое руководство. Сбор данных для определения тестов, которые должны быть выполнены после изменения кода.

SettingsFile

Файл параметров тестирования можно указать для использования с адаптером теста MS здесь.Можно также указать файл параметров тестирования с помощью меню Тест, Параметры тестирования, Выбрать файл параметров теста.

Если задано это значение, ForcedlegacyMode автоматически имеет значение true.

KeepExecutorAliveAfterLegacyRun

false

После завершения тестового запуска, MSTest завершения работы.Любой процесс, который запущен в составе теста также будет завершено в настоящий момент.Чтобы сохранить выполнителя теста в активном состоянии, отключить эту конфигурацию значение true.

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

DeploymentEnabled

true

Если задать это значение false, элементы развертывания, определенных в методе теста не будет копируются в каталог развертывания.

CaptureTraceOutput

true

При записи в трассировке отладки из метода теста с помощью Trace.WriteLine.С помощью этой конфигурации, можно выключить эти трассировки отладки.

DeleteDeploymentDirectoryAfterTestRunIsComplete

true

Можно сохранить каталог развертывания после завершения тестового запуска, установив это значение false.

MapInconclusiveToFailed

false

Если тест возвращает безытоговым с состоянием, обычно он сопоставляется с пропущенному состояние в обозревателе тестов.Если требуется тесты с неопределенным результатом отображаться как непройденный используйте эту конфигурацию.

InProcMode

false

Если требуется выполнить тесты в том же процессе, в адаптере теста MS, задайте для этого параметра значение true.Этот параметр обеспечивает дополнительный прибавку производительности.Но если теста отобразится с исключением, другие тесты не продолжается.

См. также

Основные понятия

Настройка анализа покрытия кода

Другие ресурсы

Указание параметров тестирования для тестов Visual Studio