Udostępnij za pośrednictwem


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

Testy w Visual Studio 2012 r. można skonfigurować przy użyciu pliku .runsettings.Na przykład można zmienić.NET Framework, na którym będzie uruchomiona testy, katalog, gdzie wyniki badań są dostarczane i uruchomić danych zebranych podczas badania.

[!UWAGA]

.runsettings i .testsettings

.runsettings jest nową Visual Studio.Użytkownicy zaznajomieni z jednostką badań w poprzedniej wersji programu Visual Studio może wiedzieć o plikach .testsettings.Można nadal używać .testsettings w Visual Studio 2012 r., tak, aby wszelkie konfiguracji testów, napisany dla poprzedniej wersji będzie nadal działać.Ale .testsettings może być używany tylko do konfigurowania testy napisane dla karty MSTest.Z drugiej strony można .runsettings wszystkich kart, zbudowane dla struktury testowej jednostki extensible w Visual Studio 2012 r., takich jak xUnit.NET i NUnit.

Testy, które używają plików .testsettings może działać wolniej niż testy, które używają plików .runsettings lub dla których nie ma pliku konfiguracyjnego w ogóle.

Plik .testsettings jest nadal potrzebny dla niektórych rodzajów badań:

  • Testy, które są rozmieszczane w środowisku laboratoryjnym.

  • Testy wydajności i obciążenia w sieci Web.

  • Dostosowanie niektórych rodzajów danych diagnostycznych, na przykład karty IntelliTrace oraz dziennik zdarzeń.

Aby uzyskać więcej informacji na temat .testsettings, zobacz Wprowadzanie ustawień testów w programie Visual Studio.

Dostosowywanie testów przy użyciu pliku .runsettings

  1. Dodaj plik XML do rozwiązania Visual Studio i zmienić jego nazwę, aby jej rozszerzenie pliku jest .runsettings.

  2. Zamień plik zawartości z przykład.

    Zmodyfikuj go do własnych potrzeb.

  3. Na Test menu, wybierz polecenie Testuj ustawienia, Zaznacz plik ustawień testu.

Można utworzyć więcej niż jeden plik .runsettings w swoje rozwiązanie i włączyć lub wyłączyć je w różnym czasie, za pomocą Testuj ustawienia menu.

Włączanie plik ustawień uruchamiania

Skopiuj ten przykładowy plik .runsettings

W tym miejscu jest plikiem typowe .runsettings.Każdy element w pliku jest opcjonalny, ponieważ każda wartość ma wartość domyślną.

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

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

Edytuj plik .runsettings

Plik .runsettings ma następujące elementy.

JJ635153.collapse_all(pl-pl,VS.110).gifPrzebieg konfiguracji testu

Węzeł

Domyślne

Wartości

ResultsDirectory

Katalog, w którym zostaną umieszczone wyniki badań.

TargetFrameworkVersion

Framework40

Framework45 Framework35, Framework40,

Określa wersję struktury testowej jednostki jest używana do odnajdowania i wykonać testy.Może być inny niż wersja platformy .NET, która określonych we właściwościach budować jednostkę projektu testowego.

TargetPlatform

x 86

x 86, x 64

TreatTestAdapterErrorsAsWarnings

wartość false

ma wartość FAŁSZ, PRAWDA

JJ635153.collapse_all(pl-pl,VS.110).gifKarty dane diagnostyczne (moduły zbierające dane)

DataCollectors Element określa ustawienia kart danych diagnostycznych.Dane diagnostyczne karty służą do zbierania dodatkowe informacje dotyczące środowiska naturalnego i aplikacji badany.Każda karta ma ustawienia domyślne, a trzeba podać ustawienia, jeśli nie chcesz użyć ustawień domyślnych.

JJ635153.collapse_all(pl-pl,VS.110).gifKod zapotrzebowania adapter

Moduł zbierający dane pokrycia kodu tworzy dziennik z których wykonane części kodu aplikacji, w teście.Aby uzyskać więcej informacji o dostosowywaniu ustawień dla pokrycia kodu, zobacz Dostosowywanie analizy pokrycia kodu.

JJ635153.collapse_all(pl-pl,VS.110).gifInne karty dane diagnostyczne

Karta pokrycia kodu jest obecnie tylko karty, która można dostosować przy użyciu pliku ustawienia wykonywania.

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

JJ635153.collapse_all(pl-pl,VS.110).gifUstawienia Uruchom MSTest

Te ustawienia są specyficzne dla adaptera test, który uruchamia metody badań, które mają [TestMethod] atrybut.

Konfiguracja

Domyślne

Wartości

ForcedLegacyMode

wartość false

W Visual Studio 2012 r. karta MSTest został zoptymalizowany do sprawiają, że szybszy i bardziej skalowalne.Niektóre zachowania, takie jak kolejność, w którym są uruchomione testy, może nie być dokładnie, jak to było w poprzedniej wersji programu Visual Studio.Wartość tę należy true do używania starszych adapter test.

Na przykład możesz użyć to, gdy dysponujesz plikiem app.config określony dla testu jednostki.

Zaleca się, aby rozważyć Refaktoryzacja swoje testy w celu umożliwienia użytkownikowi korzystania z adaptera nowsze.

IgnoreTestImpact

wartość false

Funkcja testu uderzenia priorytety badań, których dotyczy ostatnich zmian, po uruchomieniu w MSTest lub z Microsoft Test Menedżera.To ustawienie wyłącza funkcję.Aby uzyskać więcej informacji, zobacz Jak: zbieranie danych, aby sprawdzić które testy powinny być uruchamiane po zmiany kodu.

Plik_ustawień

Można określić plik ustawień testu do korzystania z adaptera MS testowego w tym miejscu.Można również określić za pomocą menu Plik ustawień testu Test, Przetestować ustawienia, Wybierz Test pliku ustawień.

Jeśli określisz tę wartość ForcedlegacyMode jest automatycznie ustawiana na wartość true.

KeepExecutorAliveAfterLegacyRun

wartość false

Po zakończeniu testu MSTest jest zamknięty.Każdy proces, który jest uruchamiany jako część egzaminu zabija również w tej chwili.Jeśli chcesz zachować wykonawca test przy życiu, włączanie tej konfiguracji na wartość true.

Na przykład użytkownik może wykorzystać tę utrzymać w przeglądarce, biegnącej między zakodowanej testy interfejsu użytkownika.

DeploymentEnabled

wartość true

Jeśli ustawisz to false, elementy wdrażania, które określono w swojej metodzie badania nie zostaną skopiowane do katalogu wdrażania.

CaptureTraceOutput

wartość true

Możesz napisać do śladu debugowania z metodę Test przy użyciu Trace.WriteLine.Korzystając z tej konfiguracji, można wyłączyć te debug śladów.

DeleteDeploymentDirectoryAfterTestRunIsComplete

wartość true

Można zachować Directory rozmieszczania, w wyniku uruchomienia testu ustawiając tę wartość na false.

MapInconclusiveToFailed

wartość false

Jeśli test zwraca ze stanem niejednoznaczny, zwykle jest mapowany do stanu pominięty w Eksploratorze przetestować.Niejednoznaczny próby nie być wyświetlane jako nie powiodło się, należy użyć tej konfiguracji.

InProcMode

wartość false

Jeśli chcesz, aby testy mają być wykonywane w tym samym procesie co adapter testowy MS, ta wartość true.To ustawienie zapewnia przyrost wydajności pomocnicze.Ale jeśli test kończy działanie z wyjątkiem, inne testy nie będzie kontynuowane.

Zobacz też

Koncepcje

Dostosowywanie analizy pokrycia kodu

Inne zasoby

Wprowadzanie ustawień testów w programie Visual Studio