Procesarchitectuur configureren voor een eenheidstest
Dit artikel bevat informatie over de procesarchitectuur die wordt gebruikt voor het uitvoeren van eenheidstests, het instellen van de procesarchitectuur en het uitvoeren van eenheidstests als een 64-bits proces.
Dit artikel bevat informatie over het instellen van de procesarchitectuur voor eenheidstests en het uitvoeren van eenheidstests als een 64-bits proces.
Procesarchitectuur configureren voor MSTest-projecten
Voor MSTest-projecten die Gebruikmaken van Visual Studio Testing Platform (VSTest) als testrunner, komt het standaarddoelplatform (procesarchitectuur) overeen met de architectuur van het besturingssysteem. U kunt dit gedrag opheffen voor projecten die zijn ingesteld op Any CPU als doelplatform via de Testverkenner Instellingen, zoals wordt weergegeven in de volgende afbeelding, of via het menu Test.
Selecteer in het menu Test de optie Processorarchitectuur voor AnyCPU-projecten.
Voor projecten die MSTest als testrunner gebruiken in plaats van VSTest, wordt de architectuur strikt bepaald door MSBuild- en runtimeregels. Uitvoerbare bestanden worden gegenereerd op basis van de voorkeursarchitectuur die is opgegeven in MSBuild/runtime-instellingen. U kunt deze voorkeur aanpassen met behulp van MSBuild-eigenschappen (bijvoorbeeld PreferNativeArm64), maar de instelling processorarchitectuur voor AnyCPU Projects kan niet worden gebruikt om de architectuur voor deze projecten te wijzigen.
Notitie
U kunt de testrunner instellen wanneer u een eenheidstestproject maakt met behulp van de MSTest-projectsjabloon of met behulp van MSBuild-eigenschappen. Voor meer informatie over het verschil tussen MSTest- en VSTest-testlopers, zie Microsoft.Testing.Platform en VSTest vergelijking.
PreferNativeArm64 (MSTest)
Wanneer u de eigenschap PreferNativeArm64
MSBuild gebruikt, geeft het project de voorkeur aan systeemeigen uitvoering op ARM64-architectuur als dit beschikbaar is. Deze eigenschap is van toepassing op projecten die uitvoerbare bestanden genereren en msBuild-runtimeregels volgen. Deze instelling wordt genegeerd voor testlopers van Visual Studio Test Platform (VSTest) en is alleen van toepassing op MSTest-projecten met MSTest geconfigureerd als testrunner.
Een eenheidstest uitvoeren als een 64-bits proces
Als u een 64-bits computer hebt, kunt u eenheidstests uitvoeren en informatie over de codedekking vastleggen als een 64-bits proces.
Een eenheidstest uitvoeren als een 64-bits proces:
Als uw code of tests zijn gecompileerd als 32-bits/x86, maar u deze nu wilt uitvoeren als een 64-bits proces, moet u ze opnieuw compileren als Elke CPU-.
Fooi
Voor maximale flexibiliteit, compileer uw testprojecten met de Any CPU--configuratie. Vervolgens kunt u zowel 32-bits als 64-bits agents uitvoeren. Er is geen voordeel bij het compileren van testprojecten met de 64-bits-configuratie, tenzij u code aanroept die alleen wordt ondersteund op 64-bits.
Stel de eenheidstests in om te worden uitgevoerd als een 64-bits proces.
Kies in het menu van Visual Studio Testen kies vervolgens ProcessorArchitectuur voor AnyCPU-projecten. Kies x64- om de tests uit te voeren als een 64-bits proces.
-of-
Geef
<TargetPlatform>x64</TargetPlatform>
op in een .runsettings-bestand. Een voordeel van deze methode is dat u groepen instellingen in verschillende bestanden kunt opgeven en snel kunt schakelen tussen verschillende instellingen. U kunt ook instellingen kopiƫren tussen oplossingen. Zie Moduletests configureren met behulp van een .runsettings-bestandvoor meer informatie.Notitie
De processorarchitectuur voor AnyCPU-projecten instelling wordt niet ondersteund in een MSTest-project als u MSTest instelt als testrunner in plaats van VSTest.