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
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).
Zastąp plik zawartości z przykład.
Zmodyfikuj go według własnych potrzeb.
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.
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.
|
|
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