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.

HinweisHinweis

.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:

  • Tests, die auf einer Lab-Umgebung bereitgestellt werden.

  • Webleistungs- und -Auslastungstests.

  • Eine Typen Adapter für diagnostische Daten, wie IntelliTrace und Ereignisprotokoll anpassen.

Weitere Informationen zu .testsettings, finden Sie unter Angeben von Testeinstellungen für Visual Studio-Tests.

Anpassen von Tests mit einer .runsettings-Datei

  1. Fügen Sie eine XML-Datei der Visual Studio-Projektmappe hinzu und benennen Sie sie, sodass die Dateierweiterung .runsettings ist.

  2. Ersetzen Sie den Dateiinhalt mit Beispiel.

    Bearbeiten Sie ihn zu Ihren eigenen Anforderungen.

  3. 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.

Aktivieren einer Datei für Testlaufeinstellungen

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.

JJ635153.collapse_all(de-de,VS.110).gifTestlaufkonfiguration

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

JJ635153.collapse_all(de-de,VS.110).gifAdapter 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.

JJ635153.collapse_all(de-de,VS.110).gifCodeabdeckungsadapter

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.

JJ635153.collapse_all(de-de,VS.110).gifAndere 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.

JJ635153.collapse_all(de-de,VS.110).gifMSTest-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

Weitere Ressourcen

Angeben von Testeinstellungen für Visual Studio-Tests