5



znalazłem różne iteracje tej kwestii w całej wielu stronach internetowych, jednak do tej pory nie znalazłem niczego, co zapewnia pełną odpowiedź, że zadziałało. Właśnie skonfigurowałem szereg programów testowych Visual Studio, które wydają się zachowywać i uruchamiać większość testów jednostkowych, które planujemy na nich początkowo uruchamiać. Jednak kiedy przyszedł do sprawdzenia jeden z testów jednostkowych jest upadających na linii:
using (ShimsContext.Create()),

W ślad stosu:
Result Message:
Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException: Failed to resolve profiler path from COR_PROFILER_PATH and COR_PROFILER environment variables.
Po przeczytaniu niektórych innych stanowisk po zainstalowaniu programu Visual Studio 2013 na testowanego środka i potwierdzone przeprowadziłoby to test lokalnie. Następnie ustawię COR_PROFILER_PATH na profiler, który był używany na moim komputerze, który został zainstalowany w: "C: \ Program Files \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ IntelliTrace \ 12.0.0 \ Microsoft.IntelliTrace.Profiler .12.0.0.dll ". Następnie zakończyło się niepowodzeniem w tym samym miejscu, co ślad:
Test method threw exception:
Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException: Failed to get profiler module handle 'C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\IntelliTrace\12.0.0\Microsoft.IntelliTrace.Profiler.12.0.0.dll'. The specified module could not be found ---> System.ComponentModel.Win32Exception: The specified module could not be found

Sugestia polega na tym, że profiler został załadowany w oddzielnym procesie i nie można go użyć. Czy ktoś miał jakieś sukcesy w tej lub podobnej konfiguracji? Czy na poziomie podstawowym Visual Studio Test Agents może uruchomić testy z Fakes?
DziękiUruchamianie testu za pomocą Podkładki na Visual Studio 2013 testowanego środka

+0

Postaraj się, aby Twoje pytanie było nieco lakoniczne, ponieważ jest za duże. – gsamaras

+0

Czy twój system operacyjny 32-bitowy? Jeśli nie, prawdopodobnie będziesz musiał użyć "plików programów (x86)" zamiast "plików programów". –

+0

Brak pliku, do którego istnieje odwołanie. Maszyna używana jako agent testowy działa w systemie Windows 7 Embedded 32bit. –

Odpowiedz

4

Wiem, że jest trochę stary, więc OP prawdopodobnie dostał odpowiedź, ale dla każdego, otworzyłem bilet z Microsoft na ten temat, a odpowiedź doszliśmy po półtorej godziny z mojego ustawienia tego problemu:

Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException: Nie można rozwiązać ścieżki profilowania ze zmiennych środowiskowych COR_PROFILER_PATH i COR_PROFILER.

, było to, że używałem mstest.exe i powinny zostały z wykorzystaniem vstest.console.exe. W moim przypadku było tak dlatego, że mam teraz test Fake'a w moim kodzie.

Używam Visual Studio 2013 aktualizacji 4.

+0

Mam post https://mfreidge.wordpress.com/2016/04/30/replace-mstest-to-vstest-to-support-fakes/ opisujące, jak przejść z MSTest do VStest –

1

miałem ten sam problem z projektem byłem w pracy. Zauważyłem, że problem został zauważony: https://connect.microsoft.com/VisualStudio/feedback/details/832744/unable-to-debug-shims-based-tests-unittestisolation-exception

Był dołączony projekt, więc pobrałem projekt i uruchomiłem jedyny test urządzenia. Ten sam błąd - test jednostkowy nie powiódł się. Jednak kliknąłem prawym przyciskiem myszy System pod numerem References i kliknąłem Add Fakes Assembly. Po wygenerowaniu podróbek dla System i mscorlib, voila! Test zmienił kolor na zielony.

Udało mi się odtworzyć problem w moim projekcie - Nie wygenerowałem fałszywych plików dla systemu. Po wygenerowaniu ich dla systemu, moje testy przeszły z czerwonego na zielony!

Notatka boczna - Jeśli nie chcesz generować WSZYSTKICH podróbek dla System i mscorlib, możesz zmodyfikować pliki .fakes w taki sposób.

mscorlib.fakes:

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/"> 
    <Assembly Name="mscorlib" Version="4.0.0.0"/> 
    <StubGeneration Disable="true" /> 
    <ShimGeneration Disable="true" /> 
</Fakes> 

systemowe.podróbki:

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/"> 
    <Assembly Name="System" Version="4.0.0.0"/> 
    <StubGeneration Disable="true" /> 
</Fakes> 

Nie mogłem wyłączyć ShimGeneration dla System.fakes - test zakończy się niepowodzeniem.

Mam nadzieję, że to rozwiąże problem dla kogoś innego - błąd jest bardzo niejasny!

+0

Dzięki za 'StubGeneration Disable = "true" ' –

0

(jestem zakładając agent testowy jest również środek budować.)

jest wersja Build Service zsynchronizowane z wersją Visual Studio, który jest zainstalowany?

Miałem ten sam problem w następujący środowiska:

  • TFS 2013
  • Budowa Server w/TFS 2013
  • Visual Studio 2015,3 zainstalowane w serwerze kompilacji

Kiedy zaktualizował wersję TFS na serwerze kompilacji do wersji 2015.3, problem się zatrzymał.

Wiem, że to może nie mieć sensu, ale rozwiązał problem, ponieważ budowanie XAML programu TFS 2015 jest zgodne z warstwą aplikacji TFS 2013.4.

Powiązane problemy