Konfigurowanie architektury procesu na potrzeby testu jednostkowego
Ten artykuł zawiera informacje na temat architektury procesu używanej do uruchamiania testów jednostkowych, sposobu ustawiania architektury procesu oraz uruchamiania testów jednostkowych jako procesu 64-bitowego.
Ten artykuł zawiera informacje na temat sposobu ustawiania architektury procesu na potrzeby testów jednostkowych i uruchamiania testów jednostkowych jako procesu 64-bitowego.
Konfigurowanie architektury procesów dla projektów MSTest
W przypadku projektów MSTest korzystających z platformy testowania programu Visual Studio (VSTest) jako modułu uruchamiającego testy domyślna platforma docelowa (architektura procesu) jest zgodna z architekturą systemu operacyjnego. To zachowanie można zastąpić dla projektów ustawionych na Dowolna procesora CPU jako platforma docelowa przy użyciu eksploratora testów Ustawienia, jak pokazano na poniższej ilustracji, lub przy użyciu menu testowego.
W menu Test wybierz pozycję Architektura Procesora dla Projektów AnyCPU.
W przypadku projektów korzystających z narzędzia MSTest jako modułu uruchamiającego testy zamiast vsTest architektura jest określana ściśle przez program MSBuild i reguły środowiska uruchomieniowego. Pliki wykonywalne są generowane na podstawie preferowanej architektury określonej w ustawieniach programu MSBuild/środowiska uruchomieniowego. Można dostosować tę preferencję przy użyciu właściwości MSBuild (na przykład PreferNativeArm64), ale ustawienie Architektura procesora dla projektów AnyCPU nie może służyć do zmiany architektury dla tych projektów.
Notatka
Moduł uruchamiający testy można ustawić podczas tworzenia projektu testów jednostkowych przy użyciu szablonu projektu MSTest lub właściwości programu MSBuild. Aby uzyskać więcej informacji na temat różnic między modułami uruchamiającym testy MSTest i VSTest, zobacz Microsoft.Testing.Platform i VSTest comparison.
PreferNativeArm64 (MSTest)
W przypadku korzystania z właściwości PreferNativeArm64
MSBuild projekt preferuje działanie natywnie w architekturze ARM64, jeśli jest dostępna. Ta właściwość ma zastosowanie do projektów, które generują pliki wykonywalne i przestrzegają reguł środowiska uruchomieniowego MSBuild. To ustawienie jest ignorowane dla programów uruchamiających testy Platformy Testowej Visual Studio (VSTest) i dotyczy tylko projektów MSTest, gdzie MSTest jest skonfigurowany jako program uruchamiający testy.
Uruchamianie testu jednostkowego jako procesu 64-bitowego
Jeśli masz maszynę 64-bitową, możesz uruchomić testy jednostkowe i przechwycić informacje o pokryciu kodu jako proces 64-bitowy.
Aby uruchomić test jednostkowy jako proces 64-bitowy:
Jeśli kod lub testy zostały skompilowane jako 32-bitowe/x86, ale teraz chcesz uruchomić je jako proces 64-bitowy, ponownie skompiluj je jako Dowolny procesor.
Napiwek
Aby uzyskać maksymalną elastyczność, skompiluj projekty testowe przy użyciu konfiguracji Dowolny procesor CPU. Następnie można uruchomić na agentach 32-bitowych i 64-bitowych. Nie ma korzyści z kompilowania projektów testowych z konfiguracją 64-bitową, chyba że wywołujesz kod obsługiwany tylko na 64-bitach.
Ustaw testy jednostkowe do uruchomienia jako proces 64-bitowy.
W menu programu Visual Studio wybierz pozycję Test, a następnie wybierz pozycję architektura procesora dla projektów AnyCPU. Wybierz x64, aby uruchomić testy jako proces 64-bitowy.
- lub -
Określ
<TargetPlatform>x64</TargetPlatform>
w pliku .runsettings. Zaletą tej metody jest to, że można określić grupy ustawień w różnych plikach i szybko przełączać się między różnymi ustawieniami. Możesz również skopiować ustawienia między rozwiązaniami. Aby uzyskać więcej informacji, zobacz Konfigurowanie testów jednostkowych przy użyciu pliku .runsettings.Notatka
Ustawienie Processor Architecture for AnyCPU projects nie jest obsługiwane w projekcie MSTest, jeśli zamiast tego ustawisz MSTest jako program uruchamiający testy zamiast VSTest.