Konfigurieren von Komponententests mithilfe einer .runsettings-Datei
Komponententests in Visual Studio 2012 können so konfiguriert werden, indem eine .runsettings-Datei verwendet.Beispielsweise können Sie .NET Framework, auf dem die Tests, gemacht werden, das Verzeichnis, in dem Testergebnisse übermittelt werden, und die Daten ändern, die während eines Testlaufs gesammelt werden.
Hinweis |
---|
.runsettings und .testsettings .runsettings ist in Visual Studio 2012 neu.Wenn Sie mit Komponententests in früheren Versionen von Visual Studio vertraut sind, unter Umständen in .testsettings-Dateien aus.Sie können .testsettings in Visual Studio 2012 weiterhin verwenden, sodass arbeiten alle Testkonfigurationen, die Sie für vorherige Editionen geschrieben haben, noch.Aber .testsettings kann verwendet werden, um die Tests nur zu konfigurieren, die für den MSTest-Adapter geschrieben werden.Im Gegensatz dazu kann .runsettings mit jedem der Adapter verwendet werden, die für das erweiterbare Komponententestframework in Visual Studio 2012, wie xUnit erstellt werden.Netzwerk und NUnit. Tests, die .testsettings-Dateien verwenden, werden möglicherweise langsamer als Tests, die .runsettings-Dateien verwendet oder für ausgeführt, das dort keine Konfigurationsdatei vorhanden ist. Sie erfordern weiterhin eine .testsettings-Datei für einige Tests:
Weitere Informationen zu .testsettings, finden Sie unter Angeben von Testeinstellungen für Visual Studio-Tests. |
Anpassen von Tests mit einer .runsettings-Datei
Fügen Sie eine XML-Datei der Visual Studio-Projektmappe hinzu und benennen Sie sie, sodass die Dateierweiterung .runsettings ist.
Ersetzen Sie den Dateiinhalt mit Beispiel.
Bearbeiten Sie ihn zu Ihren eigenen Anforderungen.
Klicken Sie im Menü Test wählen Sie Testeinstellungen, Datei für Testeinstellungen auswählen aus.
Sie können mehr als eine .runsettings-Datei in der Projektmappe erstellen und aktivieren oder deaktivieren sie zu unterschiedlichen Zeiten, indem Sie das Menü Testeinstellungen verwenden.
Kopieren Sie diese Datei des Beispiels .runsettings
Im Folgenden finden Sie eine typische .runsettings-Datei.Jedes Element der Datei ist optional, da jeder Wert einen Standardwert hat.
<?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>
Der Rest dieses Themas beschreibt den Dateiinhalt.
Bearbeiten Sie die .runsettings-Datei
Die .runsettings-Datei weist folgende Elemente auf.
Testlaufkonfiguration
Knoten |
Standardwert |
Werte |
---|---|---|
ResultsDirectory |
Das Verzeichnis, in dem Testergebnisse platziert werden. |
|
TargetFrameworkVersion |
Framework40 |
Framework35, Framework40, Framework45 Dies gibt an, welche Version des Komponententest-Frameworks verwendet wird, um die Tests zu ermitteln und auszuführen.Es kann von der Version der .NET-Plattform unterscheiden, die Sie in den Buildeigenschaften des Komponententestprojekts angeben. |
TargetPlatform |
x86 |
x86, x64 |
TreatTestAdapterErrorsAsWarnings |
false |
false, true |
Adapter für diagnostische Daten (Datensammler)
Das - Element gibt DataCollectors Einstellungen der Adapter für diagnostische Daten an.Adapter für diagnostische Daten werden verwendet, um zusätzliche Informationen zur Umgebung und die Anforderung getesteten zu erfassen.Jeder Adapter hat Standardeinstellungen und müssen Sie Einstellungen nur bereitstellen, wenn Sie nicht die Standardwerte verwenden möchten.
Codeabdeckungsadapter
Der Codeabdeckungsdatencollector erstellt ein Protokoll, von dem die Teile des Anwendungscodes im Test ausgeführt wurden.Weitere Informationen zum Anpassen der Einstellungen für die Codeabdeckung, finden Sie unter Anpassen der Codeabdeckungsanalyse.
Andere Adapter für diagnostische Daten
Der Codeabdeckungsadapter ist nur der einzige Adapter, der angepasst werden kann, indem die Testlaufeinstellungsdatei verwendet.
Um jeden anderen Typ Adapter für diagnostische Daten anzupassen, müssen Sie eine Testeinstellungsdatei verwenden.Weitere Informationen finden Sie unter Angeben von Testeinstellungen für Visual Studio-Tests.
MSTest-Testlaufeinstellungen
Diese Einstellungen sind zum Testadapter bestimmt, der Testmethoden ausführt, die das [TestMethod]-Attribut verfügen.
Konfiguration |
Standardwert |
Werte |
---|---|---|
ForcedLegacyMode |
false |
In Visual Studio 2012 ist der MSTest-Adapter optimiert wurde, um es schneller und skalierbarer auszuführen.Einige Verhalten, wie die Reihenfolge, in der die Tests ausgeführt werden, kann nicht genau, wie es in den früheren Versionen von Visual Studio war.Legen Sie diesen Wert true fest, um den älteren Testadapter zu verwenden. Beispielsweise können Sie diese, wenn Sie eine app.config-Datei verfügen, die für einen Komponententest angegeben wird. Es wird empfohlen, dass Sie erwägen, die Tests umzugestalten, die es Ihnen ermöglichen, späteren Adapter zu verwenden. |
IgnoreTestImpact |
false |
Die Testauswirkungensfunktion priorisiert Tests, die durch neue Änderungen betroffen sind, wenn Sie in MSTest oder Microsoft Test Manager Ausführung angezeigt werden.Diese Einstellung deaktiviert die Funktion.Weitere Informationen finden Sie unter Gewusst wie: Sammeln von Daten, um zu überprüfen, welche Tests nach Codeänderungen ausgeführt werden sollen. |
SettingsFile |
Sie können eine Testeinstellungsdatei angeben, die mit dem MS-Testadapter hier zu verwenden.Sie können eine Testeinstellungsdatei mithilfe des Menüs Test, Testeinstellungen, Datei für Testeinstellungen auswählen auch angeben. Wenn Sie diesen Wert angeben, wird ForcedlegacyMode automatisch festgelegt, um auszurichten. |
|
KeepExecutorAliveAfterLegacyRun |
false |
Nachdem ein Testlauf abgeschlossen ist, wird MSTest beendet.Jeder Prozess, der als Teil des Tests gestartet wird, wird auch derzeit abgebrochen.Wenn Sie den Testexecutor aktiv beibehalten möchten, deaktivieren Sie diese Konfiguration auf true. Beispielsweise können Sie dieses verwenden, um den Browserbetrieb zwischen Tests der codierten UI zu halten. |
DeploymentEnabled |
true |
Wenn Sie die diesem false, Bereitstellungselemente, die Sie in der Testmethode angegeben haben, nicht in den Bereitstellungsordner kopiert werden. |
CaptureTraceOutput |
true |
Sie können die Debug- Ablaufverfolgung in der Testmethode mit Trace.WriteLine schreiben.Mit dieser Konfiguration können Sie diese Debug- Ablaufverfolgungen deaktivieren. |
DeleteDeploymentDirectoryAfterTestRunIsComplete |
true |
Sie können das Bereitstellungs-Verzeichnis nach einem Testlauf beibehalten, indem Sie diesen Wert auf false festlegen. |
MapInconclusiveToFailed |
false |
Wenn ein Test mit einem nicht eindeutigen Status zurückgibt, wird er normalerweise zu übersprungenem Status im Test-Explorer zugeordnet.Wenn Sie nicht eindeutige Tests angezeigt werden sollen, als fehlgeschlagen wurde, verwenden Sie diese Konfiguration. |
InProcMode |
false |
Wenn Sie die Tests im gleichen Prozess wie der MS-Testadapter ausgeführt werden soll, legen Sie diesen Wert auf fest, um auszurichten.Diese Einstellung bietet eine geringe Leistungssteigerung.Wenn jedoch Verlassen eines Tests mit einer Ausnahme, die anderen Tests fortgesetzt wird. |
Siehe auch
Konzepte
Anpassen der Codeabdeckungsanalyse