Dlaczego program Visual Studio 2015/2017/2019 Test Runner nie wykrywa moich testów xUnit v2

173

AKTUALIZACJA: dodanie 2019; mechanizm integracji wykrywania / uruchamiania jest taki sam jak w latach 2017 i 2015, więc kluczowe rzeczy, które mogą pójść nie tak, są takie same.


Przeczytałem Dlaczego biegacz xUnit nie znajduje moich testów, co obejmuje powody, dla których xUnit nigdy nie byłby w stanie znaleźć twoich testów, ale mój problem jest inny - jestem pewien, że z moimi testami nie dzieje się nic subtelnego; (działały w innych środowiskach, wydaje się, że to tylko moja maszyna) - program Visual Studio Test Runner w programie Visual Studio 2015 [Community Edition] po prostu nie wyświetla żadnego z moich testów. Nie robię nic ekscytującego; testy są przeznaczone dla xUnit.net v2 na pulpicie.

Zajrzałem do okna Wyjście i nie widzę niczego w sekcji Test w Pokaż dane wyjściowe z kart.

Ruben Bartelink
źródło
related: stackoverflow.com/questions/16214684/…
Ruben Bartelink
1
To tylko jeden możliwy problem, ale oczywiście musisz skompilować projekt testowy, zanim zostanie wyświetlony w eksploratorze testów.
Niklas Peter
related: stackoverflow.com/a/29589576/6913871
Ruben Bartelink,
To zadziałało dla mnie - stackoverflow.com/questions/42861930/…
Więzień ZERO
Zainstalowanie Xunit.Runner.VisualStudio rozwiązało mój problem
Bendram

Odpowiedzi:

210
  1. Wyeliminuj wyjątki wykrywania z zapytań; przejdź do okna wyjściowego (Ctrl-Alt-O), a następnie przełącz wyjście pokazu z listy rozwijanej (Shift-Alt-S) na Testy i upewnij się, że nie ma żadnych wyjątków wykrywania

  2. Test | Ustawienia testowe | Domyślna architektura procesora może pomóc, jeśli testy są specyficzne dla x86 / x64, a wykrywanie wyzwala wyjątki związane z bitowością, tj. Nie AnyCpu

  3. Jak zasugerowano w tej odpowiedzi (zagłosuj, jeśli technika pomaga), uruchomienie programu uruchamiającego konsolę ( instrukcje ) może być dobrym sprawdzeniem krzyżowym, aby wyeliminować inne możliwości, np. Zniekształcone pliki konfiguracyjne: -

    packages\xunit.runner.console.2.2.0\tools\xunit.console <tests.dll>

    UWAGA xunit.runner.consolePakiet jest przestarzały - kiedy otrzymasz rzeczy działające w VS, będziesz mógł dotnet testje uruchamiać również w kontekstach CI


Przeczytaj dokumentację - jest wyczerpująca, aktualna, zawiera informacje dotyczące rozwiązywania problemów i zajmuje się PR: -

Ważna uwaga: jeśli wcześniej zainstalowałeś xUnit.net Visual Studio Runner VSIX (rozszerzenie), musisz go najpierw odinstalować. Program uruchamiający programu Visual Studio jest teraz dystrybuowany tylko za pośrednictwem pakietu NuGet. Aby go usunąć, przejdź do Narzędzia > Rozszerzenia i aktualizacje . Przewiń w dół listy, a jeśli xUnit.net jest zainstalowany, odinstaluj go. Wymusi to ponowne uruchomienie programu Visual Studio.

Jeśli masz problemy z wykrywaniem lub uruchamianiem testów, możesz być ofiarą uszkodzonej pamięci podręcznej modułu uruchamiającego w programie Visual Studio. Aby wyczyścić tę pamięć podręczną, zamknij wszystkie wystąpienia programu Visual Studio, a następnie usuń folder %TEMP%\VisualStudioTestExplorerExtensions. Upewnij się również, że projekt jest połączony tylko z jedną wersją pakietu NuGet programu Visual Studio runner ( xunit.runner.visualstudio).

Pomogły mi następujące kroki:

  1. (Tylko jeśli podejrzewasz, że na twoim komputerze jest poważny bałagan - generalnie bardziej powszechnym przypadkiem jest to, że integracja ze studiem Visual Studio nie została jeszcze zainstalowana)

    Postępuj DEL %TEMP%\VisualStudioTestExplorerExtensionszgodnie z zaleceniami: -

    PS> del $env:TEMP\VisualStudioTestExplorerExtensions

  2. Zainstaluj pakiet NuGet xunit.runner.visualstudiowe wszystkich projektach testowych

    • Pakiet:

      .paket\paket add nuget xunit.runner.visualstudio -i

      Musisz mieć w swoimpaket.dependencies :

      nuget xunit.runner.visualstudio version_in_path: true

      Zauważ, że version_in_path: truebit jest ważny

    • Nuget: przejdź do konsoli Menedżera pakietów (Alt-T, N, O) i

      Install-Package xunit.runner.visualstudio)

    Przebuduj, aby upewnić się, że xunit.runnerkończy się w katalogu wyjściowym

  3. Zamknij Eksploratora testów <- to był dla mnie brakujący bit

  4. Ponownie otwórz eksplorator testów (Alt-S, W, T)

  5. Uruchom wszystkie testy (Ctrl R, A)

Ruben Bartelink
źródło
12
„Zamknij Eksploratora Testów <- to był dla mnie brakujący fragment” To najważniejszy krok, który również przegapiłem i spędziłem 5 godzin, aby się zorientować. Dziękuję, powinienem był zwrócić uwagę na kroki :)
Esen
1
xunit VS runner pracował dla mojego sln. Jednak pewnego dnia przestał się pojawiać. Okazało się, że nie zainstalowałem VS działającego i działał prawdopodobnie z powodu pamięci podręcznej pozostawionej przez inny sln, który ma zainstalowany runner. Po zainstalowaniu prowadnicy wszystko znów działa dobrze. Więc nie zapomnij zainstalować runnera dla każdego sln.
ZZZ
1
To jest niewiarygodne. Usunięcie folderu zawierającego trzy inne puste foldery rozwiązało problem.
t3chb0t
1
@martinJH Sam sobie odpowiedziałem na jedno (link w OP): - stackoverflow.com/questions/16214684/… ;) Nie ujawniając jednak, jak to odkryłem
Ruben Bartelink
1
Naprawdę dziwne rzeczy, ale usunięcie %TEMP%\VisualStudioTestExplorerExtensionsi ponowne uruchomienie VS wreszcie zadziałało!
Hinrich,
35

Musiałem zmienić Test Settings po zmianie procesora projektów testowych na x64. Następnie testy zostały ponownie wykryte.

Architektura

Maks
źródło
Czy widziałeś wcześniej komunikat w wynikach wykrywania testowego?
Ruben Bartelink
Nie, nie widziałem żadnych błędów, zajęło mi to trochę czasu.
Max
hmm; dziwne (patrz górna część mojej odpowiedzi - wyjaśnia, gdzie szukać; zwykle jest to oznaczone (chociaż są przypadki, w których po prostu nigdzie nie ma wiadomości))
Ruben Bartelink
To naprawiło to dla mnie. Nie wiem, dlaczego to pomaga, ale tak.
VSO,
2
Musiałem wyczyścić -> odbudować po zmianie.
user2023861
32

Żadne z powyższych rozwiązań nie działało dla mnie (dotnetcore 1.1, VS2017). Oto, co to naprawiło:

  1. Dodaj pakiet NuGet Microsoft.TestPlatform.TestHost
  2. Dodaj pakiet NuGet Microsoft.NET.Test.Sdk

Są to dodatkowe pakiety, które zainstalowałem wcześniej:

  • xunit (2.3.0-beta1-build3642)
  • xunit.runner.visualstudio (2.3.0-beta1-build1309)
Arman
źródło
9
Pomogło mi to, brakowało mi pakietu xunit.runner.visualstudio.
Ognjen Babic
Mój projekt testowy .NET 4.72 MS potrzebny TestPlatform.TestHosttylko podczas migracji z VS 2017 do VS 2019.
ΩmegaMan
To rozwiązało to dla mnie. W oknie Wyjście wybierz Testy z menu rozwijanego => zobacz komunikat „Brak hosta testowego”.
datchung
22

Zainstaluj xunit.runner.visualstudiopakiet dla projektu testowego

Chris Aelbrecht
źródło
Najlepsza odpowiedź na stronie. Naprawiłem mój problem.
RB Davidson
14

Wykonaj następujące kroki:

  1. Zaktualizuj swoje MsTest.TestAdapteri MsTest.TestFramework dll'sod nugget package manager.
  2. Wyczyść swoje rozwiązanie
  3. Zbuduj swoje rozwiązanie.
Venkat Ramanan
źródło
1
Czy możesz otworzyć klon tego pytania i samodzielnie odpowiedzieć, tak jak ja? Ten dotyczy xUnit v2 i nowszych. Nawet odpowiedzi xUnit v1 nie mają tutaj miejsca. Możesz linkować do niego za pomocą linku również u góry pytania lub mogę linkować do niego w pytaniu
Ruben Bartelink
To rozwiązanie działa ... W przeciwnym razie za każdym razem musiałem usuwać %TEMP%\VisualStudioTestExplorerExtensionsi nadal czasami musiałem uruchamiać testy z konsoli.
Venky
Używam NUnit i rozwiązałem ten problem, aktualizując NUnit3TestAdapter do najnowszej wersji za pośrednictwem NuGet.
dpberry178
Dzięki za to - w moim przypadku wystarczyło Update-Package -reinstalować MSTest.TestAdapter i testy zostały odebrane.
Rob
10

Zmagałem się z tym przez całe popołudnie podczas pracy z projektem ASP Core i xUnit 2.2.0. Rozwiązaniem dla mnie było dodanie odwołania doMicrosoft.DotNet.InternalAbstractions

Dowiedziałem się o tym podczas próby ręcznego uruchomienia projektu testowego, dotnet testktóry zakończył się niepowodzeniem, ale zgłosił, że InternalAbstractionsgo brakuje. Nie widziałem tego błędu w oknie wyników testu, gdy automatyczne wykrywanie nie powiodło się. Jedyną informacją, jaką zobaczyłem w oknie wykrywania, był kod powrotu, który wtedy nic dla mnie nie znaczył, ale z perspektywy czasu prawdopodobnie wskazywał na błąd.

Tom Makin
źródło
„ale zgłosił użyteczny błąd” ... który to był? Czy możesz również sprawdzić, czy to na pewno nie zostało wymienione w oknie błędów wykrywania, jak podano w OP - tj. Czy możesz z całą pewnością stwierdzić: „Zajrzałem do okna Wyjście i w ogóle nic nie widzę w obszarze Testuj w Pokaż dane wyjściowe z kart ”. ?
Ruben Bartelink
1
Zobacz zaktualizowaną odpowiedź, opublikuję informacje o kodzie zwrotnym później, jeśli będzie to istotne.
Tom Makin
9

Zdarzyło mi się to kilka razy - kiedy czyszczę projekt i buduję go ponownie, zwykle jest dobrze.

Liam
źródło
jakieś wyraźne komunikaty, gdy spojrzysz w okno wyjściowe z wybraną opcją Testy na liście rozwijanej?
Ruben Bartelink
2
W ogóle brak, po prostu napisane Nie znaleziono testów
Liam
W moim przypadku Eksplorator Testów zawiesił się na wcześniej nieudanym teście. Gdybym go przeglądał i próbował kliknąć prawym przyciskiem myszy -> Uruchom lub cokolwiek, wtedy cały VS się zawiesił. Po prostu wyczyść i odbuduj wyczyściłem status testu i rozwiązałem problem.
Piedone
Dodam, że samo budowanie (czyli F6) nie pomoże, trzeba kliknąć prawym przyciskiem myszy rozwiązanie w VS Solution Explorer i kliknąć Rebuild Solution.
Piedone
8

Upewnij się, że Twoja klasa testowa jest publiczna .

shaeed
źródło
jest to wyraźnie poruszone w pierwszym zastrzeżeniu (łączę z innym pytaniem, które dotyczy tego przypadku); te pytania i odpowiedzi dotyczą tylko rozwiązywania problemów, w jaki sposób normalnie OK testy, które działają w innych miejscach, nie działają teraz dla kogoś w danym środowisku. Dla mnie ta odpowiedź po prostu wprowadza zamieszanie, ponieważ osłabia to odróżnienie.
Ruben Bartelink
1
Dziękuję bardzo. Uratowałeś mi dzień.
hellouworld
7

Powodem w moim przypadku było to, że kompilacja docelowa nie była taka sama między debuggerem projektu a uruchomieniem testów. Aby ujednolicić te elementy:

  1. Test> Ustawienia testowe> Domyślna architektura procesora. następnie wybierz X64 lub X86.
  2. Projekt> (Twój projekt) Właściwości> Kompilacja (karta)> docelowa platforma.

Gdy będą identyczne, odbuduj swoje rozwiązanie, a pojawią się metody testowe.

Jawad Sabir
źródło
6

Po spędzeniu 2 dni ... żadna z powyższych nie zadziałała. Jedynym „rozwiązaniem” było: Przejdź do właściwości projektu -> zakładka Build. Następnie kliknij przycisk Zaawansowane w prawym dolnym rogu panelu. Zmień „Informacje debugowania:” na „pełne” i kliknij OK.

Oto zrzuty ekranu: wprowadź opis obrazu tutaj

wprowadź opis obrazu tutajwprowadź opis obrazu tutaj

ciekawyBoy
źródło
brzmi bolesnie. Dzięki za udostępnienie i mam nadzieję, że kiedyś komuś to pomoże. Muszę jednak powiedzieć: nie przychodzi mi do głowy żaden powód, dla którego poziom informacji debugowania miałby wpływać na proces wykrywania, więc mogę tylko powiedzieć „Nie sądzę, że to właśnie postrzelił niedźwiedzia” - miejmy nadzieję, że się mylę chociaż;)
Ruben Bartelink
@RubenBartelink całkowicie się z Tobą zgadzam, dlatego w cytacie wspomniałem o "rozwiązaniu" :) ale co dziwne, od razu zadziałało.
curiousBoy
Dziękuję Ci bardzo. To też była poprawka dla mnie :)
Babulaas
6

Używam xUnit 2.2.0.

Mój problem polegał na tym, że moje rozwiązanie nie mogło znaleźć niektórych bibliotek DLL i app.configpróbowało je rozwiązać. Błąd nie był wyświetlany w oknie danych wyjściowych testu w programie Visual Studio.

Udało mi się zidentyfikować błąd, gdy instalowałem xunit.runner.consolei próbowałem uruchomić testy za pomocą wiersza poleceń.

Jak uruchomić testy xunit w CLI .

SohamC
źródło
5

Mogę podać rozwiązanie problemu krawędzi, z którym spotkałem się kilka dni temu. Nie będzie to rozwiązanie pasujące do wszystkich opisanych powyżej scenariuszy, jednak w przypadku skrajnego przypadku kazałem to naprawić.

Miałem ten sam problem z najnowszym VS 2017 (wersja 15.5.7) i XUnit 2.3.1. Pakiet xunit.runner.visualstudio został zainstalowany, jednak testy nie pojawiły się we wbudowanym eksploratorze testów VisualStudio.

Pracowałem nad starszym projektem, który był przeznaczony dla platformy .NET Framework 4.5. Jednak począwszy od wersji 2.2. XUnit nie obsługuje platform .NET niższych niż 4.5.2 (zobacz Informacje o wersji - XUnit 2.2: 19 lutego 2017 r.

Zmiana struktury docelowej projektu testowego na wersję> = 4.5.2 działała dla mnie. Nie musisz zmieniać wersji projektu, który testujesz, chodzi tylko o sam projekt testowy.

baumgarb
źródło
5

Miałem ten sam problem z Visual Studio 2019. Właśnie zainstalowałem następujące pakiety NuGet i problem został rozwiązany.

1). xUnit

2). xunit.runner.visualstudio

3). Microsoft.TestPlatform.TestHost

4). Microsoft.NET.Test.Sdk

Chamila Maddumage
źródło
3

Może to być również spowodowane tym, że pole wyboru kompilacji nie jest zaznaczone dla bieżącego projektu platformy w konfiguracji kompilacji. Kliknij Buduj | Menedżer konfiguracji, a następnie upewnij się, że projekty testowe mają zaznaczenie w kolumnie kompilacji dla używanej platformy (na przykład „x86”).

To było zdecydowanie rozwiązanie, które się sprawdziło.

cd747
źródło
Głosowałbym na to, gdyby było na stackoverflow.com/questions/16214684/ ... ponieważ nie jest to specyficzne dla xunit2 i dobry element listy kontrolnej
Ruben Bartelink.
3

Upewnij się, że testy jednostkowe nie zostały zapisane w bibliotece klas .NET Standard 2.0. Visualstudio runner nie obsługuje uruchamiania testów w bibliotekach klas netstandard2.0 w chwili pisania tego tekstu.

Sprawdź tutaj macierz zgodności narzędzia Test Runner:

https://xunit.github.io/#runners

vullnetyy
źródło
3

Podobny problem napotkał VS, który nie odkrył metod testowych. W moim przypadku miałem słowo kluczowe static z metodą, którą usunąłem i zadziałało.

[TestMethod]

Before: public static void Test1()

After: public void Test1()
miłość na żywo
źródło
1
Naprawdę wolałbym, aby tego nie było, ponieważ dotyczy to poprawnych testów, których nie można znaleźć w konkretnym przypadku VS. Mam jedno z odpowiedzi na pytanie, dlaczego nie można znaleźć testu xunit: stackoverflow.com/questions/16214684/… . Czy mogę zasugerować, abyś stworzył dlaczego nie mogę odebrać mojego testu MSTest (przez VS, jeśli chcesz). (Jak zapewne wiesz, ta szczególna obawa nie dotyczy nawet xUnit, co jest kolejnym powodem, dla którego, choć pomocna, twoja odpowiedź nie pasuje tutaj)
Ruben Bartelink
MSTest nie znalazł moich testów, ponieważ modyfikator dostępu do klasy był wewnętrzny.
Abdul Saboor
3
  1. Zamknij wszystkie wystąpienia programu Visual Studio
  2. Idź do% TEMP% \ VisualStudioTestExplorerExtensions \
  3. Usuń foldery powiązane ze specyfikacją
  4. Spróbuj ponownie

daj mi znać, dzięki

alvarodoune
źródło
2

W moim przypadku miałem w rozwiązaniu 2 różne projekty testowe. Można znaleźć testy projektu 1, ale nie można znaleźć testów projektu 2. Okazało się, że najpierw rozładowanie projektu testowego 1, a następnie zamknięcie VS> wyczyszczenie plików tymczasowych> ponowne otwarcie rozwiązania> odbudowanie umożliwiło programowi VS odnalezienie moich testów w ramach projektu 2.

Zakładam, że coś musi być w konflikcie między dwoma projektami testowymi i był to najszybszy sposób, aby uruchomić mnie w ciągu kilku minut. Załamania można rozwiązać później :).

Zach J.
źródło
2

Długo cierpiałem na ten problem.

  • Miałem około 100 projektów, różne wersje były wdrażane na innym serwerze.

  • Aktualizacja xunit z 2.2.0 do 2.3.1 nie była rozwiązaniem, ponieważ kompilacja kończyła się niepowodzeniem w 2.3.1.

Potem właśnie zaktualizowałem xunit.runner.visualstudio do wersji 2.3.1 i wszystko zaczęło działać dobrze. Użyłem tego polecenia w mojej konsoli menedżera pakietów, aby zaktualizować pakiet xunit.runner.visualstudio

Get-Project ComapanyName.ProjectName.*.Tests | Install-Package xunit.runner.visualstudio -Version 2.3.1
Nafeez Abrar
źródło
1

Najczęstszym winowajcą był dla mnie program Visual Studio, który próbował uruchomić testy przy użyciu innej architektury niż testowana biblioteka. Niestety jest wiele miejsc, w których wydaje się, że może to się nie udać.

W VS 2017 spróbuj utworzyć plik Run Settings, np. Default.runsettingsW projekcie testowym. Jeśli twoja główna biblioteka to x64, zawartość powinna wyglądać następująco:

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <RunConfiguration>
    <TargetPlatform>x64</TargetPlatform>
  </RunConfiguration>
</RunSettings>

Następnie wybierz ten plik z Test -> Ustawienia testu -> Wybierz plik ustawień testu.

Następnie w obszarze Test -> Test Settings, Default Processor Architecture, wybierz ponownie poprawną architekturę.

Pamiętaj, aby wyczyścić i zbudować całe rozwiązanie. Konieczne może być zamknięcie i ponowne otwarcie okna Eksploratora testów. Poszukaj dodatkowych błędów w oknie Output -> Test, aby uzyskać więcej wskazówek dotyczących nieprawidłowych typów architektury.

Dodatkowe wpisy dotyczące ustawień testu FYI można znaleźć tutaj .

Tobias J.
źródło
1

Jest jeszcze jeden powód, dla którego Eksplorator testów nie wyświetla żadnych testów i ma to związek z nowym przenośnym .pdbformatem plików wprowadzonym w programie Visual Studio 2017 / dla platformy .NET Core, który może zepsuć niektóre narzędzia VS. (Tło: zobacz raport o błędzie „Mono.Cecil powoduje wyjątek OutOfMemoryException z nowymi plikami PDB .csproj” ).

Czy testy nie zostały znalezione z powodu nowego przenośnego .pdbformatu (symboli debugowania)?

  • Otwórz okno Wyjście .
  • Zmień listę rozwijaną dla opcji Pokaż wyniki z na Testy .
  • Jeśli zobaczysz wyniki podobne do następujących (prawdopodobnie powtórzone raz dla każdego testu), oznacza to, że masz problem opisany w tej odpowiedzi:

    Exception System.OutOfMemoryException, Exception converting <SignatureOfYourTestMethod>
    Array dimensions exceeded supported range.

Jeśli tak, zrób to, aby rozwiązać problem:

  • Otwórz właściwości projektu testowego (wybierz projekt testowy w Eksploratorze rozwiązań i naciśnij Alt+ Enter).
  • Przejdź do zakładki Kompilacja .
  • Kliknij przycisk Zaawansowane ... (znajdujący się na samym końcu tej strony zakładki).
  • W rozwijanej oznaczonej informacji diagnostycznych , należy wybrać none, pdb-onlyczy full, ale NIE portable . To ostatnie ustawienie powoduje, że testy nie zostaną znalezione.
  • Kliknij OK i wyczyść i odbuduj swój projekt. Jeśli chcesz mieć dodatkową pewność, przejdź do katalogu wyjściowego projektu testowego i wyczyść wszystkie .pdbpliki przed przebudową. Teraz twoje testy powinny wrócić.
stakx - już nie wnoszący wkładu
źródło
1

Przydarz mi się, gdy podjąłem pierwsze próby chodzenia z IntelliTestem w VS 2017.

Czasami, gdy projekt testowy jest tworzony automatycznie przez IntelliTest, odwołanie do zestawu Microsoft.ExtendedReflection( ... \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ Extensions \ Microsoft \ Pex \ Microsoft.ExtendedReflection. dll ) brakuje. Po dodaniu wygenerowane testy pojawią się w eksploratorze testów po ponownej kompilacji.

chrześcijanin
źródło
1

Zastrzeżenie: nie chodzi o xunit z Visual Studio 2015, ale Visual Studio 2017 z aplikacją do testów jednostkowych UWP (MSTest). Dotarłem do tego wątku szukając tego samego, więc może ktoś inny zrobi to samo :)

Rozwiązaniem dla mnie było zaktualizowanie pakietów NuGet dla MSTest.TestAdapter i MSTest.TestFramework. Wygląda na to, że podczas tworzenia aplikacji do testów jednostkowych dla platformy UWP nie otrzymujesz automatycznie najnowszych wersji.

Alex Albu
źródło
Proponuję zadać sobie pytanie, tak jak ja to zrobiłem, to najlepszy sposób na sekwestrację takich informacji - nie krępuj się skopiować, wklej całe moje pytanie i s / xUnit / MSTest / jeśli uważasz, że to ma sens;)
Ruben Bartelink
1

Mój problem został rozwiązany przez zainstalowanie nuget xunit.runner.visualstudio

kDar
źródło
1

W moim przypadku mam wiele projektów testowych w tym samym rozwiązaniu, a tylko jeden z projektów nie wyświetlał „Eksploratora testów”

Poszedłem do „Zarządzaj pakietem Nuget w poszukiwaniu rozwiązania”, klikając prawym przyciskiem myszy rozwiązanie.

Zauważyłem, że na karcie „Konsolidacja” było kilka pakietów NuGet „Testuj”, które nie były zsynchronizowane między projektami. Kliknąłem „Zainstaluj” i pojawiły się brakujące testy.

CBBSpike
źródło
1

Wypróbowałem większość powyższych sugestii i nic nie działało. W moim przypadku jestem w zespole i u innych deweloperów pojawiały się testy tego samego rozwiązania. Więc próbowałem po prostu usunąć mój folder .vs, ale też bez powodzenia.

Skończyło się na całkowitym usunięciu mojego folderu lokalnego i ponownym sklonowaniu repozytorium. To mnie rozwiązało.

Paul G.
źródło
1

Oto rozwiązanie, które dla nas zadziałało. Nie najlepszy, ale może warto.

Tło:

  • Nasze skrypty zostały opracowane w programie VS 2013 i wykorzystywały NUnit VS Adapter 2.1.
  • Niedawno przeprowadziliśmy migrację do VS 2017 i po otwarciu tego samego rozwiązania - test nie był wyświetlany w Eksploratorze testów

Po kompilacji zobaczymy następujący komunikat:

[Informational] NUnit Adapter 3.10.0.21: Test discovery starting
[Informational] Assembly contains no NUnit 3.0 tests: C:\ihealautomatedTests\SeleniumTest\bin\x86\Debug\SeleniumTest.dll
[Informational] NUnit Adapter 3.10.0.21: Test discovery complete

Rozwiązanie (tymczasowe):

  • Odinstaluj NUnit Adapter 3.10 ...
  • Zainstaluj NUnit VS Adapter 2.1.

Teraz testy są pokazane.

Andrew Homsky
źródło
Proszę wypakować swoje (przynajmniej pozornie) nowe pytanie do własnego postu, aby uzyskać jasną odpowiedź :)
geisterfurz007
... Zatytułowany „dlaczego NUnit TestAdapter v3 nie widzi moich testów NUnit v2? I a) ping w tym miejscu b) umieść„ zobacz także <link> ”u góry (nawet jeśli jest nieco słaby), ale ja jak ta odpowiedź została usunięta, ponieważ nie pasuje dobrze xUnit v2 testsdo tytułu.
Ruben Bartelink
0

Sprawdź również, czy całkowicie pusty plik app.config (całkowicie pusty, bez żadnych znaczników) znajduje się w projekcie testowym. To był winowajca w moim przypadku.

Gopal Krishnan
źródło
0

W moim przypadku utworzyłem nową „Konfigurację rozwiązania”, jak pokazano na obrazku. Więc kiedy wybieram mój niestandardowy jako „Prod”, z jakiegoś powodu nie rozpoznaje on TestMehods. Zmiana z powrotem na „Debuguj” rozwiązuje problem

wprowadź opis obrazu tutaj

batmaci
źródło
0

Nie wiem, czy niektórzy z was również używają JustMock, ale musiałem wyłączyć profiler w VS 2017, aby wykrywanie testów działało.

chrisdrobison
źródło
Hmmm. Jeśli ponownie go włączysz, czy natychmiast znowu zawiedzie?
Ruben Bartelink,
Tak. Jeśli zamknę rozwiązanie, włączę profiler i wrócę, wykrywanie testu kończy się niepowodzeniem.
chrisdrobison