Udostępnij za pośrednictwem


Rozwiązywanie problemów związanych z testami generycznymi

Podczas uruchamiania testów generycznych, można napotkać następujący błąd: Zbieranie danych pokrycia kodu nie działa, podczas uruchomienia generycznego testu na platformie 64-bitowej.Aby poprawić ten błąd, należy użyć informacji z poniższej sekcji, Obejście ograniczenia 32-bitowego.

Wymagania

  • Visual Studio Ultimate, Visual Studio Premium

Obejście ograniczenia 32-bitowego

Instrumentacja pokrycia kodu działa tylko w trybie 32-bitowym, nie w trybie 64-bitowym.Jest tak dlatego, że zestaw może być tylko załadowany w trybie 32-bitowym, po tym jak został instrumentowany do pokrycia kodu.

[!UWAGA]

Takie ograniczenie nie stosuje się podczas uruchamiania testów jednostkowych na komputerze 64-bitowym, jeśli nie są zbieranie dane pokrycia kodu.Jest tak dlatego, że program VSTestHost.exe, silnik testów, który ładuje bibliotekę klas, jest uruchomiony w procesie 32-bitowym.

Dla testu generycznego, opakowana aplikacja jest kompilowana pod "każdy procesor" co na 64-bitowym komputerze jest wykonywane jako 64-bitowy procesor.Gdy ten 64-bitowy proces próbuje załadować 32-bitowy zestaw, występuje błąd.Problem ten można rozwiązać na jeden z następujących sposobów.

Jeśli test generyczny bezpośrednio opakowuje plik binarny, do którego został skompilowany kod produkcyjny, należy użyć następującej metody:

  • Zmień konfigurację rozwiązania na x86

Jeśli istnieje warstwa między testem generycznym a plikiem binarnym kodu produkcyjnego, użyj jednej z następujących dwóch metod:Oznacza to, że test generyczny opakowuje pośredniczącą aplikację jako kontroler testu.Z kolei ten kontroler testu uruchamia kod produkcyjny, który jest testowany.

  • Zmień ustawienia kompilacji dla aplikacji, która ładuje plik binarny kodu produkcyjnego

Zmień konfigurację rozwiązania na x86

Zmień konfigurację rozwiązania z "Any CPU" na "x86".

Aby zmienić konfigurację rozwiązania

  1. Kliknij prawym przyciskiem myszy rozwiązanie, a następnie wybierz Właściwości.

    Zostanie wyświetlone okno dialogowe Strony właściwości rozwiązania.

  2. Pod Właściwości konfiguracji, wybierz Konfiguracja.

  3. Wybierz Menedżer konfiguracji.

    Wyświetlane jest okno dialogowe Menedżer konfiguracji.

  4. Pod Aktywna platforma rozwiązania, kliknij Nowy.

    Zostanie wyświetlone okno dialogowe Nowa platforma rozwiązania.

  5. Pod Wpisz lub wybierz nową platformę, wybierz wartość x86.

  6. W oknie dialogowym Nowe platforma rozwiązania wybierz OK.

  7. W oknie dialogowym, które pyta, czy chcesz zapisać zmiany, wybierz Tak.

  8. W oknie dialogowym Menedżer konfiguracji, pod Aktywna platforma rozwiązania upewnij się, że wybrana jest wartość x86, a następnie wybierz Zamknij.

  9. W oknie dialogowym Strony właściwości rozwiązania wybierz OK.

Zmień ustawienia kompilacji dla aplikacji, która ładuje plik binarny kodu produkcyjnego

Użyj tej procedury do instrumentacji każdej pośredniczącej aplikacji lub kontrolera testów, którego opakowuje test generyczny.Ta pośrednicząca aplikacja uruchamia kod, który możesz chcieć przetestować.

W tej procedurze, zmienia się ustawienia dla pośredniczącej aplikacji, aby kompilowała się dla platformy x86.

[!UWAGA]

Można to zrobić tylko wtedy, gdy opakowana aplikacja jest kompilowana z projektu w rozwiązaniu.

Aby zmienić ustawienia kompilacji dla opakowanej aplikacji

  1. W Eksploratorze rozwiązań, kliknij prawym przyciskiem myszy projekt, z którego kompilowana jest aplikacja pośrednicząca, a następnie wybierz Właściwości.

    Spowoduje to wyświetlenie strony właściwości dla projektu.

  2. Wybierz kartę Kompilacja.

  3. Dla wartości docelowej platformy, określ wartość x86.

  4. W menu Plik, wybierz Zapisz wybrane elementy.

Zobacz też

Koncepcje

Tworzenie testu automatycznego wykorzystującego plik wykonywalny podczas testów generycznych