Condividi tramite


Configurare l'architettura del processo per un unit test

Questo articolo fornisce informazioni sull'architettura del processo usata per l'esecuzione di unit test, su come impostare l'architettura del processo e su come eseguire unit test come processo a 64 bit.

Questo articolo fornisce informazioni su come impostare l'architettura del processo per unit test e su come eseguire unit test come processo a 64 bit.

Configurare l'architettura del processo per i progetti MSTest

Per i progetti MSTest che usano Visual Studio Testing Platform (VSTest) come runner di test, la piattaforma di destinazione predefinita (architettura del processo) corrisponde all'architettura del sistema operativo. È possibile eseguire l'override di questo comportamento per i progetti impostati su Qualsiasi CPU come piattaforma di destinazione usando Esplora test Impostazioni, come illustrato nella figura seguente oppure usando il menu test .

Screenshot che mostra il menu per la selezione dell'architettura del processore per AnyCPU.

Dal menu Test selezionare architettura del processore per progetti AnyCPU.

Per i progetti che usano MSTest come runner di test anziché VSTest, l'architettura viene determinata rigorosamente dalle regole msbuild e di runtime. I file eseguibili vengono generati in base all'architettura preferita specificata nelle impostazioni di MSBuild/runtime. È possibile modificare questa preferenza usando le proprietà di MSBuild ,ad esempio PreferNativeArm64), ma l'impostazione Processor Architecture for AnyCPU Projects non può essere usata per modificare l'architettura per questi progetti.

Nota

È possibile impostare lo strumento di esecuzione dei test quando si crea un progetto di unit test usando il modello di progetto MSTest o tramite le proprietà MSBuild. Per altre informazioni sulla differenza tra i test runner MSTest e VSTest, vedere confronto tra Microsoft.Testing.Platform e VSTest.

PreferNativeArm64 (MSTest)

Quando si usa la proprietà PreferNativeArm64 MSBuild, il progetto preferisce l'esecuzione nativa nell'architettura ARM64, se disponibile. Questa proprietà è applicabile ai progetti che generano file eseguibili e seguono le regole di runtime di MSBuild. Questa impostazione viene ignorata per i testrunner di Visual Studio Test Platform (VSTest) e si applica solo ai progetti MSTest con MSTest configurato come runner di test.

Eseguire un test unitario come processo a 64-bit

Se si dispone di un computer a 64 bit, è possibile eseguire unit test e acquisire informazioni sulla copertura del codice come processo a 64 bit.

Per eseguire uno unit test come processo a 64 bit:

  1. Se il codice o i test sono stati compilati come 32 bit/x86, ma ora si vuole eseguirli come processo a 64 bit, ricompilarli come Qualsiasi CPU.

    Consiglio

    Per la massima flessibilità, compilare i progetti di test con la configurazione Qualsiasi CPU. È quindi possibile eseguire sia agenti a 32 bit che a 64 bit. Non esiste alcun vantaggio nel compilare progetti di test con la configurazione a 64 bit, a meno che non si chiami codice supportato solo su 64 bit.

  2. Impostare gli unit test da eseguire come processo a 64 bit.

    Scegliere Testdal menu di Visual Studio, quindi scegliere Architettura processore per progetti AnyCPU. Scegliere x64 per eseguire i test come processo a 64 bit.

    -o-

    Specificare in un file .runsettings . Un vantaggio di questo metodo è che è possibile specificare gruppi di impostazioni in file diversi e passare rapidamente tra impostazioni diverse. È anche possibile copiare le impostazioni tra le soluzioni. Per ulteriori informazioni, vedere Configurare i test unità tramite un file con estensione ".runsettings".

    Nota

    L'impostazione Processor Architecture for AnyCPU projects non è supportata in un progetto MSTest se si imposta MSTest come testrunner anziché VSTest.