Configurazione di unit test mediante un file .runsettings

Gli unit test in Visual Studio 2012 è possibile configurare utilizzando un file di .runsettings.Ad esempio, è possibile modificare .NET Framework in cui i test verranno eseguiti, la directory in cui i risultati del test verranno recapitati e i dati raccolti durante l'esecuzione dei test.

[!NOTA]

.runsettings e .testsettings

.runsettings è nuovo in Visual Studio 2012.Se si ha dimestichezza con di unit test nelle versioni precedenti di Visual Studio, è possibile conoscere i file di .testsettings.È comunque possibile utilizzare .testsettings in Visual Studio 2012, pertanto tutte le configurazioni di test scritto per le versioni precedenti funzioneranno comunque.Ma .testsettings può essere utilizzato per configurare solo i test creati per l'adattatore MSTest.Al contrario, .runsettings può essere utilizzato con tutti gli adattatori compilati per il framework estensibile di unit test in Visual Studio 2012, come xunit.rete e NUnit.

I test che utilizzano i file di .testsettings può essere più lenta di test che utilizzano i file di .runsettings, o per il quale non viene file di configurazione assenti.

È necessario disporre di un file di .testsettings per alcuni tipi di test:

  • Test distribuiti in un ambiente lab.

  • Prestazioni Web e i test di carico.

  • Personalizzando alcuni tipi di adattatori dati di diagnostica, come IntelliTrace e il log eventi.

Per ulteriori informazioni su .testsettings, vedere Specifica delle impostazioni test di Visual Studio.

Personalizzare i test con un file di .runsettings

  1. Aggiungere un file XML nella soluzione di Visual Studio e rinominarlo in modo che l'estensione di file sia .runsettings.

  2. Sostituire il contenuto del file con esempio.

    Modificarlo alle proprie esigenze.

  3. Scegliere dal menu Prova, scegliere Prova impostazioni, Seleziona file di impostazioni test.

È possibile creare più file di .runsettings nella soluzione e le abilitate o disabilitate in momenti diversi tramite il menu Prova impostazioni.

Abilitazione di un file di impostazioni di esecuzione

Copiare il file di esempio .runsettings

Di seguito è riportato un tipico file di .runsettings.Ogni elemento del file è facoltativo, perché ogni valore di un'impostazione predefinita.

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

Il resto di questo argomento viene descritto il contenuto del file.

Modificare il file di .runsettings

Il file di .runsettings presenta gli elementi seguenti.

JJ635153.collapse_all(it-it,VS.110).gifConfigurazione di esecuzione dei test

Nodo

Predefinito

Valori

ResultsDirectory

La directory in cui i risultati del test saranno posizionati.

TargetFrameworkVersion

Framework40

Framework35, Framework40, Framework45

Indica che la versione del framework di unit test viene utilizzata per individuare ed eseguire i test.Può essere diversa da quella piattaforma .NET specificato nelle proprietà di compilazione del progetto di unit test.

TargetPlatform

x86

x86, x64

TreatTestAdapterErrorsAsWarnings

false

false, true

JJ635153.collapse_all(it-it,VS.110).gifAdattatori dati di diagnostica (agenti di raccolta dati)

L'elemento di DataCollectors specifica le impostazioni degli adattatori dati di diagnostica.Gli adattatori dati di diagnostica vengono utilizzati per raccogliere informazioni aggiuntive sull'ambiente e l'applicazione sottoposta a test.Ogni adattatore è impostazioni predefinite e fornire solo le impostazioni se non si desidera utilizzare le impostazioni predefinite.

JJ635153.collapse_all(it-it,VS.110).gifAdattatore di code coverage

L'agente di raccolta dati di code coverage crea un log in cui le parti del codice dell'applicazione sono state eseguite nel test.Per ulteriori informazioni su come personalizzare le impostazioni di code coverage, vedere Personalizzazione dell'analisi code coverage.

JJ635153.collapse_all(it-it,VS.110).gifAltri adattatori dati di diagnostica

L'adattatore code coverage è attualmente l'unico adattatore che possono essere personalizzati utilizzando il file delle impostazioni di esecuzione.

Per personalizzare qualsiasi altro tipo di adattatore dati di diagnostica, è necessario utilizzare un file di impostazioni test.Per ulteriori informazioni, vedere Specifica delle impostazioni test di Visual Studio.

JJ635153.collapse_all(it-it,VS.110).gifImpostazioni esecuzione test MSTest

Queste impostazioni sono specifiche dell'adattatore di test che esegue i metodi di test con l'attributo di [TestMethod].

Configurazione

Predefinito

Valori

ForcedLegacyMode

false

In Visual Studio 2012, l'adattatore MSTest è stato ottimizzato per rendere più veloce e più scalabile.Un comportamento, come l'ordine in cui vengono eseguiti i test, potrebbe non essere esattamente mentre era in versioni precedenti di Visual Studio.Impostare questo valore true per utilizzare l'adattatore di test precedenti.

Ad esempio, è possibile utilizzare questo se è presente un file app.config specificato per un unit test.

È consigliabile provare a effettuare il refactoring dei test per consentire di utilizzare il più recente adattatore.

IgnoreTestImpact

false

La funzionalità dell'impatto sui test assegna la priorità ai test interessati da modifiche recenti, una volta allontanato in MSTest o da Microsoft Test Manager.Questa impostazione disattivare la funzionalità.Per ulteriori informazioni, vedere Procedura: raccogliere dati per verificare i test da eseguire dopo che sono state apportate modifiche al codice.

SettingsFile

È possibile specificare un file di impostazioni di test da utilizzare con l'adattatore di test di MS di seguito.È inoltre possibile specificare un file di impostazioni di test utilizzando il menu Prova, Prova impostazioni, Seleziona file di impostazioni test.

Se si specifica questo valore, ForcedlegacyMode viene impostato automaticamente su true.

KeepExecutorAliveAfterLegacyRun

false

Dopo un'esecuzione dei test, MSTest viene arrestato.Il processo che viene avviata come parte del test viene interrotto attualmente.Se si desidera mantenere l'utilità di esecuzione del test attivo, attivare questa configurazione su true.

Ad esempio, è possibile utilizzare questo per mantenere il browser tra i test codificati dell'interfaccia utente.

DeploymentEnabled

true

Se si imposta questo false, elementi di distribuzione specificati nel metodo di test non verrà copiato nella directory di distribuzione.

CaptureTraceOutput

true

È possibile scrivere nell'analisi di debug dal metodo di test utilizzando Trace.WriteLine.Utilizzando questa configurazione, è possibile disattivare queste traccia di debug.

DeleteDeploymentDirectoryAfterTestRunIsComplete

true

È possibile mantenere la directory di distribuzione dopo un'esecuzione di test impostando questo valore su false.

MapInconclusiveToFailed

false

Se i risultati di un test con lo stato senza risultati, in genere è associato allo stato eseguito il test Esplora Risorse.Se si desidera che i test senza risultati da indicare come non superato, utilizzare la configurazione.

InProcMode

false

Se si desidera che i test da eseguire nello stesso processo dell'adattatore di test di MS, impostare questo valore su true.Questa impostazione fornisce un lieve miglioramento delle prestazioni.Ma se il termine di un test con un'eccezione, gli altri test non verrà continuata.

Vedere anche

Concetti

Personalizzazione dell'analisi code coverage

Altre risorse

Specifica delle impostazioni test di Visual Studio