Konfigurowanie testów jednostkowych przy użyciu pliku .runsettings

Testy jednostek w programie Visual Studio można skonfigurować za pomocą pliku *.runsettings.(Nazwa pliku nie ma znaczenia, pod warunkiem użycia rozszerzenia ".runsettings.") Na przykład można zmienić programu .NET Framework na którym uruchomiona jest testy, katalog, w którym wyniki testów są dostępne, a dane zebrane podczas próby uruchomienia.

Jeśli nie chcesz zrobić specjalnej konfiguracji, nie trzeba pliku *.runsettings.Jest najczęściej używany do dostosowania pokrycie kodu.

[!UWAGA]

Pliki .runsettings i .testsettings

Istnieją dwa typy plików do konfiguracji testów.*.runsettings są używane do testów jednostkowych.I *.testsettings dla testy środowiska laboratoryjnego, sieci web wydajności i testy, obciążenia i dostosowania niektórych typów danych diagnostycznych kart, takich jak karty Intellitrace i w dzienniku zdarzeń.

W poprzedniej wersji programu Visual Studio do 2010, jednostki, którą testy zostały również dostosować za pomocą *.testsettings plików.Można nadal to zrobić, ale testy będą działać wolniej niż te korzystające równoważne konfiguracji w pliku *.runsettings.

Dostosowywanie testów przy użyciu pliku .runsettings

  1. Dodaj plik XML do rozwiązania Visual Studio i zmień jego nazwę na test.runsettings.(Nazwa pliku nie ma znaczenia, ale .runsettings musi mieć rozszerzenie).

  2. Zastąp plik zawartości z przykład.

    Zmodyfikuj go według własnych potrzeb.

  3. Na testu menu, wybierz polecenie ustawień testu, Wybierz ustawienia testu.

Można utworzyć więcej niż jeden plik *.runsettings w rozwiązaniu i włączyć lub wyłączyć je zmienia się przy użyciu ustawień testu menu.

Włączenie ustawienia uruchamiania pliku

Skopiuj ten przykładowy plik .runsettings

W tym miejscu jest plikiem typowe *.runsettings.Każdy element pliku jest opcjonalny, ponieważ każda wartość ma domyślne parametry.

<?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>

Plik .runsettings jest również używany do konfigurowania pokrycie kodu.

W pozostałej części tego tematu opisano zawartość pliku.

Edytuj plik .runsettings

Plik .runsettings zawiera poniższe elementy.

Konfiguracja przebiegu testowego

Węzeł

Domyślny

Wartości

ResultsDirectory

Katalog, w którym zostaną umieszczone wyniki testu.

TargetFrameworkVersion

Framework40

Framework35, Framework40, Framework45

Określa, która wersja środowiska testów jednostkowych jest używana do odnajdowania i wykonywania testów.Może ona być inna niż wersja platformy .NET określonej we właściwościach kompilacji projektu badania jednostki.

TargetPlatform

x86

x86, x64

TreatTestAdapterErrorsAsWarnings

false

fałsz, prawda

Adaptery danych diagnostycznych (kolektory danych)

DataCollectors Elementu określa ustawienia kart danych diagnostycznych.Adaptery danych diagnostycznych są używane do zbierania dodatkowych informacji dotyczących środowiska i testowanej aplikacji.Każdy adapter ma ustawienia domyślne, dlatego ustawienia trzeba podać tylko wtedy, gdy nie chce się używać tych domyślnych.

Adapter pokrycia kodu

Moduł zbierający dane pokrycia kodu tworzy dziennik z zapisami, które części kodu aplikacji zostały wykonane w teście.Aby uzyskać więcej informacji dotyczących dostosowywania ustawień pokrycie kodu, zobacz Dostosowywanie analizy pokrycia kodu.

Inne adaptery danych diagnostycznych

Adapter pokrycia kodu jest obecnie jedynym adapterem, który można dostosować przy użyciu pliku parametrów uruchomieniowych.

Aby dostosować każdy inny rodzaj adaptera danych diagnostycznych, należy użyć pliku ustawień testu.Aby uzyskać więcej informacji, zobacz Wprowadzanie ustawień testów w programie Visual Studio.

Ustawienia wykonywania MSTest

Te ustawienia są unikatowe dla karty testu, która uruchamia metody testów, które mają [TestMethod] atrybutu.

Konfiguracja

Domyślny

Wartości

ForcedLegacyMode

false

W programie Visual Studio 2012 adapter karty MSTest został zoptymalizowany, aby był bardziej skalowalny i działał szybciej.Niektóre zachowania, na przykład kolejność, w jakiej są uruchamiane testy, mogą nie być dokładnie takie same, jak w poprzednich wersjach programu Visual Studio.Ta wartość true do użycia starsza karta testu.

Można jej użyć na przykład wtedy, gdy dysponujesz plikiem app.config określonym dla testu jednostkowego.

Zaleca się, aby rozważyć refaktoryzację testów pozwalającą na użycie nowszego adaptera.

IgnoreTestImpact

false

Funkcja wpływu na testy określa priorytety testów, których dotyczą ostatnie zmiany, po uruchomieniu w programie MSTest lub Microsoft Test Manager.To ustawienie powoduje wyłączenie funkcji.Aby uzyskać więcej informacji, zobacz Porady: zbieranie danych niezbędnych do sprawdzenia, które testy będą wymagały przeprowadzenia po wprowadzeniu zmian w kodzie.

SettingsFile

Można tu określić plik ustawień testowych do użycia z adapterem MS Test.Można również określić za pomocą menu Plik ustawień testu Testowanie, Testowanie ustawienia, Wybierz Test pliku ustawień.

Jeśli określono tej wartości, należy także ustawić ForcedlegacyMode do true.

<RunSettings>
  <MSTest>
    <SettingsFile>my.testsettings</SettingsFile> 
    <ForcedLegacyMode>true</ForcedLegacyMode> 
  </MSTest>
</RunSettings>

KeepExecutorAliveAfterLegacyRun

false

Po zakończeniu testu MSTest jest zamykany.Każdy proces, który jest uruchamiany jako część testu, również będzie w tej chwili zatrzymywany.Jeśli program wykonujący test ma być nadal aktywny, ustaw dla tej konfiguracji wartość true.

Można na przykład wykorzystać ją do zachowania działania przeglądarki między kodowanymi testami interfejsu użytkownika.

DeploymentEnabled

true

Jeśli zostanie ustawiona wartość false, elementy wdrożenia, które określono w metodzie testowej, nie zostaną skopiowane do katalogu wdrożenia.

CaptureTraceOutput

true

Można zapisywać do śledzenia debugowania ze swojej metody testowej przy użyciu Trace.WriteLine.Za pomocą tej konfiguracji można wyłączyć ślady debugowania.

DeleteDeploymentDirectoryAfterTestRunIsComplete

true

Można zachować Deployment Directory po uruchomieniu testu z ustawieniem tej wartości jako fałszywej.

MapInconclusiveToFailed

false

Jeśli test jest zwracany ze stanem Niejednoznaczny, zwykle będzie mapowany do stanu Pominięty w Eksploratorze testów.Jeśli chcesz, aby testy niejednoznaczne były wykazywane jako Zakończone niepowodzeniem, użyj tej konfiguracji.

InProcMode

false

Jeśli testy mają być wykonywane w tym samym procesie co adapter MS Test, dla wartości tej należy wybrać ustawienie true.To ustawienie zapewnia mniejszy przyrost wydajności.Jeśli jednak test kończy się wyjątkiem, inne testy nie będą kontynuowane.

Zobacz też

Koncepcje

Dostosowywanie analizy pokrycia kodu

Inne zasoby

Wprowadzanie ustawień testów w programie Visual Studio