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
Dodaj plik XML do rozwiązania Visual Studio i zmienić jego nazwę, aby jej rozszerzenie pliku jest .runsettings.
Zamień plik zawartości z przykład.
Zmodyfikuj go do własnych potrzeb.
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.
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.
Przebieg 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 |
Karty 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.
Kod 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.
Inne 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.
Ustawienia 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