Testy nie działają w Eksploratorze testów

174

Obecnie pracuję nad rozwiązaniem, które ma obecnie 32 Unittesty. Pracowałem z biegaczem testowym resharper - co działa dobrze. Wszystkie testy są uruchomione, wszystkie pokazują prawidłowe wyniki.

Jednak testy nie są uruchamiane podczas korzystania z eksploratora testów programu Visual Studio.

Eksplorator testów pokazuje wszystkie testy jednostkowe, ale po kliknięciu „Uruchom wszystko” wszystkie testy stają się wyszarzone i nie pokazują żadnego wyniku testu:

wprowadź opis obrazu tutaj

  • Wszystkie klasy testowe są publiczne
  • Wszystkie klasy testowe mają [TestClass]zadeklarowany atrybut
  • Wszystkie metody testowe używają [TestMethod]atrybutu
  • Zarówno kod produktywności, jak i projekty testowe są przeznaczone dla platformy .NET 3.5.
  • Próbowałem już do czystej kompilacji moje rozwiązania i / lub usunąć wszystkie obj, bin, Debugi Releasefoldery

Byłbym wdzięczny za wszelkie wskazówki, które wyjaśniałyby to zachowanie.

ElGauchooo
źródło
3
Zaktualizuj swój ReSharper. Zapoznaj się z tym stackoverflow.com/questions/16011775/ ...
kmhigashioka
28
Czy nie byłoby wspaniale, gdyby VS powiedział, dlaczego nie przeprowadzono testu? Niedopasowana platforma docelowa, brak adaptera testowego, ... :(
Bernhard Hofmann
3
Gdzie wspomniano, że używają ReSharper?
Alex 75
8
@BernhardHofmann Natknąłem się teraz na problem podobny do tego i okazuje się, że VS wypluwał komunikaty o błędach w Output> Tests. Ważny. Frustrujące, że VS nie czyni ich bardziej widocznymi, ale to miejsce, w którym można spojrzeć w takiej sytuacji.
JLRishe
3
Jest rok 2020, 5 lat od tego pytania, a mimo to po wypróbowaniu 10 różnych odpowiedzi nie mogłem uruchomić testów mniszek. Tworzenie projektu konsoli w celu uruchomienia kodu testowego. westchnienie
Hossein Shah

Odpowiedzi:

174

Jeśli twoje projekty to nie wszystkie AnyCpu, możesz również sprawdzić, czy następujące 2 ustawienia są zgodne:

  1. [Projekt testowy kliknij prawym przyciskiem myszy] -> właściwości -> Kompilacja -> Cel platformy - np. X64

  2. [Menu główne] -> Test -> Ustawienia testu -> Domyślna architektura procesora -> X64

Zauważyłem, że gdy te nie pasowały, mój projekt testowy po cichu nie działał.

Joseph Simpson
źródło
ten rozwiązał moje problemy (przejście z platform mieszanych na anycpu)
Marcel Studer
1
upewnij się, że twoje projekty testowe nie są netstandard2.0, ale netcoreapp2.2
user2033412
4
Pracował. Naprawdę z VS dałbym nam jasne ostrzeżenie lub komunikat o błędzie lub coś w tym rodzaju.
anon
Tymczasowa zmiana wartości i zmiana ich z powrotem na dowolny procesor, a następnie naciśnięcie przycisku Zapisz, naprawiło to za mnie. Korzystając z VS 2019 Community Edition, w projekcie, który został pierwotnie utworzony w VS 2017.
JamesHoux,
13
Wersja VS2019: Menu główne -> Test -> Architektura procesora dla projektów AnyCPU -> X64.
StackOverthrow
71

Miałem ten sam problem w VS 2017. W moim przypadku został on rozwiązany poprzez ponowne uruchomienie VS.

Pablo Rausch
źródło
11
mój poprzedni komentarz dotyczący tego, dlaczego oddałem ten głos przeciw, został usunięty, więc będę trochę jaśniejszy. To nie jest rozwiązanie problemu; jest to bardzo tymczasowa poprawka, która nie rozwiązuje podstawowego problemu. Nie sądzę, aby tak było miejscem, w którym ludzie powinni przychodzić, aby usłyszeć „wyłącz i włącz ponownie”, czyli wiedzę, której należy się nauczyć na długo przed przybyciem tutaj. Zobacz odpowiedź Josepha Simpsona, aby znaleźć rozwiązanie.
lukkea
6
@lukkea Podążyłem za odpowiedzią Josepha Simpsona i potwierdziłem, że wszystkie moje projekty mają AnyCpu. Nadal miałem opisany tutaj problem. U mnie po prostu ponowne uruchomienie VS pomogło. To nie pierwszy raz, gdy VS2012 ma tego rodzaju problemy (i to nie tylko na moim komputerze). Zgadzam się z Tobą, że to nie jest dobre rozwiązanie, ale jeśli w projekcie nie ma nic złego, to może być jedyna pomoc. Należy jednak sprawdzić, czy czyszczenie odbudowy też nie pomaga.
Sascha
3
Gdyby tylko „włączenie i wyłączenie” rozwiązało wszystkie moje problemy. Wciąż zaskakujące, ile to naprawia. To trochę zawstydzające, że musiałem przejść do stackoverflow, aby przypomnieć mi o tym, ale uznałem tę odpowiedź za przydatną.
Richard Garside
3
@lukka czasami głównym problemem jest studio wizualne, a ponowne uruchomienie jest rozwiązaniem
JSON
60

Jeśli używasz NUnit zamiast MSTest, będziesz potrzebować rozszerzenia NUnit Test Adapter dla programu Visual Studio 2012/2013.

Piers Myers
źródło
10
Pomogło mi to ustalić, że muszę zainstalować „adapter testowy NUnit 3”: marketplace.visualstudio.com/…
Westerlund.io
12
W VS 2019 pracował dla mnie, aby zainstalować adapter z menedżera pakietów nuget.org/packages/NUnit3TestAdapter
maylon
1
W VS 2019 zainstalowałem również adapter testowy Extension Nunit 3 i zadziałało. Jedna uwaga: potrzebowałem również zaktualizować Visual Studio.
Bob Lokerse
1
+1 Dziękuję! Nawet z najnowszą wersją VS 2019 16.5.5 nie dostałem żadnej wiadomości, która wskazywałaby, co jest nie tak. Po cichu zawiodło.
Nele Kosog
1
Zainstalowanie NUnit3TestAdapter zadziałało dla mnie. Używam VS 2019
Bob
55

Musiałem zmienić moje metody testowe asynchroniczne, aby zwrócić Task zamiast void.

Testy były następnie aktywne i możliwe do uruchomienia w Eksploratorze testów.

Kevin Mills
źródło
3
Nie ma sposobu, aby czekać na zakończenie asynchronicznej metody void. Async void to „wystrzel i zapomnij”. Dlatego nie można ich przetestować.
Ketobomb
1
Potwierdzenie twarzy, które zrobiłem, kiedy to przeczytałem, odbiło się echem po całej ziemi ... Dzięki za wskazanie mojej głupoty. To zadziałało dla mnie. Głosowane za głosem
JP Chapleau
Chociaż zgłoszony w kategorii „no duh”. Chciałbym, żeby to zyskało więcej głosów, ponieważ jest to bardzo oczywiste, że typem zwrotu musi być Zadanie, ale łatwe do zapomnienia (ponieważ pozornie żaden inny test jednostkowy na świecie nie zwraca niczego poza pustym) i wysyła cię do króliczej dziury naprawiania twojej jednostki konfiguracja testowa, gdy nie ma rzeczywistego problemu z konfiguracją. Naprawdę chciałbym, żeby to spowodowało kompilator lub co najmniej wyrzuciło błąd w czasie wykonywania.
pat8719
2
@ pat8719, brzmi jak dobry pomysł na analizator kodu. Nie są zbyt trudne do napisania. Właśnie napisałem fakt, że xunit robi, async void Foo()a ich analizatorzy nie narzekali, ale z pewnością mogliby dodać taki, który by to zrobił. cc: @bradwilson
benmccallum
To też był mój problem. Jednak w VS 2019 wydaje się, że tak się nie dzieje z Xunit. Ale zawsze występuje podczas korzystania z MsTest + async void.
Christiano Kiss
26

Sprawdź, w jakim frameworku testy są napisane (np. Nunit, xunit, VS test itp.) I upewnij się, że masz zainstalowany odpowiedni adapter testowy / rozszerzenie runner.

Dla mnie był to adapter testowy NUnit 3, którego brakowało i potwierdziłem numer wersji wymaganej, patrząc na wersję zależności nunit.framework (wybierz plik .dll w drzewie zależności w Eksploratorze rozwiązań i naciśnij klawisz F4, aby wyświetlić okno Właściwości).

benmccallum
źródło
3
Uwaga dla siebie: mój oryginalny MSTest proj ref'd Microsoft.VisualStudio.QualityTools.UnitTestFramework(nie wiem, która wersja). Rozwiązano problemy polegające na tym, że metoda nie działa (lub nie została znaleziona), usuwając ten odnośnik i instalując najnowszy (v2.1.0) MSTest.TestAdapter (i Framework)
Adam Cox
@AdamCox jest Microsoft.VisualStudio.TestTools.UnitTestingprzestarzałe? Miałem kilka testów używających tego, które nagle przestały działać jak powyżej po ponownym dodaniu niektórych odniesień do projektu, od którego zależały.
ebyrob
@ebyrob, odpowiedź Athanasiosa poniżej może być istotna. Wygląda na to, że musiał nie tylko zaktualizować / zaktualizować do pakietów MSTest. *, Ale także dodać pewne zależności i naprawić niektóre przekierowania wiążące. Sprawdź ostrzeżenia.
benmccallum
19

Zauważyłem, że w projekcie nie odwoływał się do zestawu Microsoft.VisualStudio.QualityTools.UnitTestFramework . Zamiast tego odwoływał się do Microsoft.VisualStudio.TestPlatform.TestFramework i Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions . Kiedy usunąłem te dwa odniesienia i dodałem odwołanie do zestawu Microsoft.VisualStudio.QualityTools.UnitTestFramework , testy, które wcześniej były oznaczone niebieskim wykrzyknikiem, nagle stały się aktywne i zaczęły działać.

Testy jednostkowe nie są uruchamiane z nieprawidłowym montażem

Przy odpowiednim montażu testy przebiegają

markdotnet
źródło
4
Po przejściu z .NET Framework 4.6.2 na .NET Framework 4.7.2 moje testy już nie działały. Po godzinach prób zadziałało tylko to rozwiązanie.
Éric Bergeron
Po przejściu z .NET Framework 4.6.2 na .NET Framework 4.7.2 - musiałem usunąć wszystkie przekierowania
powiązań
To naprawiło to również dla mnie! Wciąż próbowałem i zdałem sobie sprawę z tego postu, że Microsoft wydaje się dodawać niewłaściwe odniesienie do projektu podczas tworzenia MSTest UnitTest i nie jest rozpoznawany podczas uruchamiania w Visual Studio. Dziękuję bardzo za to!
mike gold
18

TLDR: Zaktualizuj pakiety testowe, spójrz na dane wyjściowe -> konsola testowa

Walczyłem z tym przez półtora dnia. więc oto co zrobiłem, aby to rozwiązać:

Objawy

  1. 5 projektów testów jednostkowych, wszystkie do znalezienia w TestExplorer
  2. 2 z 5 wykonano poprawnie
  3. 3 stwierdzający, że w ogóle nie działa
  4. Problem zaczął się po aktualizacji frameworka .net

Dochodzenie

Ponieważ wszystkie pakiety zostały zaktualizowane podczas aktualizacji frameworka .net, zacząłem od różnic między działającymi i niedziałającymi projektami. Pierwszą wskazówką było to, że wszystkie 3 projekty używały: MSTest.TestAdapter i MSTest.TestFramework

Oczywiście poszedłem do -> Konsola wyjściowa -> menu Test w VS 2019 i spojrzałem na wyjście. Nie ma tam nic przydatnego.

Krok pierwszy rozwiązania : Zaktualizuj MSTest.TestAdapter i MSTest.TestFramework do wersji 2.0.0

Krok drugi rozwiązania : Teraz konsola wyjściowa -> menu rozwijane Test zaczęło wyświetlać jeden po drugim, brakujące pakiety i nieprawidłowe przekierowania powiązań

Krok trzeci rozwiązania : ręcznie dodaj brakujące pakiety. Dla mnie to były

  1. System.Runtime.Extentions
  2. System.Reflection
  3. Może więcej, czego mi brakuje

Krok 4 rozwiązania : Usunięto / naprawiono niepotrzebne przekierowania wiązań.

Mam nadzieję, że to pomoże komuś innemu.

Athanasios Kataras
źródło
Uratowałeś mnie tego półtora dnia! Zaktualizowałem projekt wersji 4.5 FW i próbowałem usunąć wszystkie niepotrzebne rzeczy z pakietów i skończyłem w takiej sytuacji. Dzięki!
Numan
Myślę, że doświadczyłem czegoś podobnego. Ostatecznie po prostu odtworzyłem projekt od podstaw. Najwyraźniej w pliku * .csproj znajduje się linia, która ustawia ToolsVersioni wbijając w moje wszystko zepsuło wszystko. Wszystko, co mogę powiedzieć, to "uwaga kupujących" na testy jednostkowe MS i być gotowym do zastąpienia plików * .csproj w jednej chwili, te rzeczy są ściśle zintegrowane i zależne od wersji.
ebyrob
Dzięki, chociaż nie jest to bezpośrednio mój problem, wskazówka dotycząca sprawdzenia wyniku konsoli pokazała mi błąd (metoda DBContext Dispose zawierała błąd), który uniemożliwiał uruchomienie moich testów.
Iain Carlin
15

Clean-Rebuild rozwiązanie zadziałało dla mnie.

Eugene Ihnatsyeu
źródło
12

Miałem ten problem i był on spowodowany posiadaniem wielu projektów testowych z różnymi wersjami:

  • MSTest.TestAdapter
  • MSTest.TestFramework

Skonsolidowanie pakietów NuGet dla projektów, aby były takie same, rozwiązało problem.

Jon Ryan
źródło
1
Ta odpowiedź pomogła mi znaleźć podobną przyczynę. W moim przypadku niektóre projekty testowe miały odniesienia do Microsoft.VisualStudio.TestPlatform.TestFramework (i nie zostały uruchomione), podczas gdy inne miały odniesienia do Microsoft.VisualStudio.QualaityTools.UnitTestFramework (które były projektami, które miały działać).
jr
11

Wystąpił ten sam problem po czystej instalacji VS 2019. Testy zostały znalezione, ale nie zostały uruchomione z komunikatem „Wystąpił nieoczekiwany błąd”. Naprawiono przez skonfigurowanie x64 zamiast x86, który był wybrany domyślnie.

wprowadź opis obrazu tutaj

Vadim Leb
źródło
6
To była dla mnie poprawka, wraz z ponownym uruchomieniem VS i usunięciem folderu .vs. Dziękuję Ci.
Donald.Record
Nie mogę uwierzyć, że to nadal jest problem ... Mam nadzieję, że Microsoft w pewnym momencie wyświetli jakieś ostrzeżenie o tym klasycznym szkopułku.
Guillaume LaHaye
9

W moim przypadku było tak, ponieważ jeden projekt testowy w moim rozwiązaniu miał zainstalowane pakiety nuget MSTest.TestFramework i MSTest.TestAdapter, ale inne nie. Pakiety te najwyraźniej nie były wymagane do uruchamiania testów, dopóki jeden projekt w rozwiązaniu ich nie zainstalował.

Problem został rozwiązany przez zainstalowanie tych pakietów w projektach testowych, w których ich brakowało.

SteveC
źródło
W moim przypadku jest dokładnie odwrotnie: żaden projekt testów jednostkowych, który ma pakiety nuget MSTest, nie będzie działać, tak jak robią to inne. Dziwne.
Palle Due
Rozwiązany : mam plik .testsettings. Pakiety MSTest wymagają pliku .runsettings. Dlatego testy nie działają.
Palle Due
8

Rozwiązaniem tego problemu była aktualizacja pakietów nuget MS.Test

user2945722
źródło
Dziękuję Ci! pracował dla mnie
YS
7

Zainstaluj Nunit3TestAdapterNuget rozwiązał ten problem

AvishalomJan
źródło
rozwiązało to również mój problem! :)
Eru
7

Możesz wyświetlić wyjście błędu swojego programu uruchamiającego testy, otwierając panel Wyjście (widok -> wyjście) i wybierając „testy” z menu „Pokaż wynik z”

pokaż wyjście z


Dodatkowo, jeśli masz zainstalowany Resharper , możesz otworzyć plik testowy i najechać kursorem na kółko testowe obok testu, aby uzyskać dodatkowe informacje o błędzie

Wyjście Resharper

Kliknięcie spowoduje wyświetlenie okna z bardziej szczegółowymi informacjami. Alternatywnie możesz otworzyć to okno, przechodząc do Extensions -> Reshaper -> Windows -> Unit Test Exploration Results

Eksploracja testów jednostkowych Resharper

BlueRaja - Danny Pflughoeft
źródło
7

wprowadź opis obrazu tutaj

Ustawienie architektury procesora dla projektów AnyCPU w Eksploratorze testów rozwiązało mój problem! Zobacz zrzut ekranu powyżej.

NetProvoke
źródło
Bardzo dziękuję! Pomogło mi =)
Alexander Brattsev
4

W moim przypadku miałem async voidmetodę i zastąpiłem ją async Task, więc test przebiegł zgodnie z oczekiwaniami:

    [TestMethod]
    public async  void SendTest(){}

zamienić :

    [TestMethod]
    public async  Task SendTest(){}
Ali
źródło
1
To był mój problem
Kyle Delaney
3

Miałem te same objawy.

Upewnij się, że masz zainstalowane odpowiednie rozszerzenie programu Visual Studio za pośrednictwem narzędzi - rozszerzenia i aktualizacje. W moim przypadku musiałem zainstalować XUnit i Specflow z opcji Online.

Następnie wyczyść roztwór i odbuduj go.

Jeśli to nadal nie pomoże, wyczyść katalog tymczasowy (wyszukaj% temp% w menu Start, wyszukaj i usuń całą zawartość w Temp)

A potem w końcu spróbuj odinstalować Resharper, co ostatecznie rozwiązało mój problem.

Gina
źródło
4
Odinstalować Resharper ?! Nie sądzę, żeby to było rozwiązanie ^^
Steve Rakebrandt
3

Tutaj projekt testowy nie został oznaczony do zbudowania:

Kompiluj -> Configuration Manager ... -> sprawdź kompilację dla projektu testowego

CountOren
źródło
3

Miał te same objawy, w moim przypadku była to wersja zestawu SDK dotnet core, która była przyczyną problemu.

Projekty były ukierunkowane na 2.2 i były w stanie zbudować przy użyciu 3.0. Po zainstalowaniu najnowszej wersji 2.2 SDK można było je uruchomić.

Kristoffer la Cour
źródło
3

Miałem nieco inny scenariusz, ale to jest najlepszy wynik Google, więc odpowiem również na mój problem. Mogłem przeprowadzić testy, ale tylko około połowa z nich faktycznie działała, bez żadnych błędów.

W końcu zdebugowałem i przeszedłem przez wszystkie testy, i natknąłem się na wystąpienie Stack Overflow Errortestowe niektórych modeli.

W metodach instancji testowej model potomny tworzył rodzica, a rodzic tworzył dziecko, które tworzyło nieskończoną pętlę. Usunąłem kreację rodzica z dziecka i teraz wszystkie moje testy działają!

James L.
źródło
Miałem dla mnie odwrotną pracę. Zmieniono z wydania na debugowanie i dostałem zielone kleszcze
Jen
1
Myślę, że chciałeś skomentować odpowiedź @ vali
James L.
Ups! Nie jestem pewien, jak to przegapiłem :)
Jen
1
Dzięki; Miałem podobny błąd; Błędnie wpisałem nazwę parametru w testowanym kodzie ... Test powinien zakończyć się niepowodzeniem podczas zgłaszania tego błędu; zamiast tego pokazało się, że po prostu nie działa.
JohnLBevan
2

Ponieważ dostałem się tutaj z tego rodzaju błędem, zamieszczam mój problem / rozwiązanie:

Objawy:

  • Nie wszystkie testy działały, ale nie zależały od projektu, tylko niektóre z nich zostały wykonane.
  • Wszystkie stracone były zielone.
  • Stos technologiczny: dotnet core / XUnit / FluentAssertions
  • Wszystkie testy wykryto i zaktualizowano, jeśli uległy zmianie.
  • Po wybraniu lub kilkukrotnym uruchomieniu „Nie uruchomionych testów” można je wykonać.

Problem:

Wystąpił błąd w kodzie, który zgłosił wyjątek w innym wątku. Wszystkie potwierdzenia testu przeszły, ale spowodowało to anulowanie wykonania testu. Widziałem błąd w „Wynikach testów” (NullException).

OriolBG
źródło
+1 Próbowałem debugować określony test. Kiedy w końcu przeprowadziłem kolejny, prostszy test, mogłem zdebugować ten konkretny test. Ta odpowiedź skłoniła mnie do tego.
Halvard
2

Miałem inną wersję pakietów nuget NUnit (3.11.0) i NunitTestAdapter (3.12.0). Kiedy zaktualizowałem NUnit do wersji 3.12.0, Visual Studio przeprowadził testy.

Krzysztof Madej
źródło
2

Ten problem jest również obserwowany, gdy uruchamiana metoda testowa zgłasza StackOverflowException , powodując, że moduł uruchamiający testy przerywa przebieg testu, w wyniku czego dane wyjściowe 0 tests run.

Aby znaleźć winowajcę i go rozwiązać, umieść punkt przerwania na początku obu metod dekorowanych TestInitialize i TestMethod , uruchom test jednostkowy w trybie debugowania, kontynuuj przechodzenie przez (F10), aż zostanie zgłoszony wyjątek.

Thomas CG de Vilhena
źródło
2

Wypróbowałem wiele opcji w programie Visual Studio 2019 w wersji 16.4.6 i Microsoft.VisualStudio.TestTools.UnitTesting, ale na razie jedynym sposobem pomyślnego uruchomienia testów było wywołanie następnego polecenia w konsoli

dotnet test

Testy są wykrywane w Eksploratorze testów, ale ich wynikiem jest „Nie uruchomione”.

Aktualizacja programu Visual Studio nie pomogła.

Rozwiązaliśmy problem z „Żaden test nie pasuje do podanego filtru przypadków testowych FullyQualifiedName”, uruchamiając aktualizacje do najnowszej wersji dla następnych pakietów:

Microsoft.NET.Test.Sdk
MSTest.TestAdapter
MSTest.TestFramework
volody
źródło
2

Odpowiedzi na to pytanie jest już sporo, ale miałem inny scenariusz i rozwiązanie.

Przenieśliśmy funkcjonalność testowanego typu z jednej klasy do nowej i w związku z tym stworzyliśmy nową klasę testową, w której stara klasa testowa była pusta.

Oryginał:

  • Stara klasa testowa
    • Metoda inicjalizacji testu
    • Metody testowe

Złamany:

  • Stara klasa testowa (inicjator zachowany, klasa zachowana jako symbol zastępczy na przyszłość)
    • Metoda inicjalizacji testu (pozostaje sama)
    • Brak metod testowych (oryginalne metody testowe pojawiają się w module uruchamiającym testy, ale nie istnieją w kodzie, więc nigdy nie wykonuj)
  • Nowa klasa testowa
    • Metoda inicjalizacji testu
    • Metody testowe

Naprawiony:

  • Stara klasa testowa (usunięta)
  • Nowa klasa testowa
    • Metoda inicjalizacji testu
    • Metody testowe

Wyczyść projekt, zamknij program Visual Studio, usuń folder TestResults, a następnie uruchom ponownie VS, a następnie ponownie skompiluj projekt. (Samo to może rozwiązać twój problem, ale dla mnie nie wystarczyło, dopóki nie usunięto starej klasy testowej).

Jon Davis
źródło
„Wyczyść projekt, zamknij program Visual Studio, usuń folder TestResults, a następnie uruchom ponownie VS, a następnie odbuduj projekt. (Samo to może rozwiązać problem, ale dla mnie nie wystarczyło, dopóki nie usunięto starej klasy testowej).” - Naprawiono to dla mnie :)
Stephan Ryer
2

Miałem inne rozwiązanie, aby uruchomić testy. Mój globalny folder pakietów nie pasuje do tego, co było w moim .csproj. Tak wyglądał mój plik .csproj: UnitTest .csproj

Musiałem zmienić moją wersję na 16.5.0, którą znalazłem, zainstalowaną w moim folderze pakietów globalnych. Teraz moje testy są w stanie uruchomić:Eksplorator folderów .nuget

Katelyn Rochat
źródło
1

Dla mnie rozwiązaniem była zmiana ustawień Resharper Unit Testing „Domyślna architektura platformy” na „x64”

wprowadź opis obrazu tutaj

Dharmesh Tailor
źródło
To rozwiązało mój problem z projektem .NET Core 3.1, który odmówił wykonania testów w Eksploratorze testów. Nic innego nie mogłoby tego naprawić, ale to.
J_L
1

U mnie ponowne uruchomienie VS2017 nie zadziałało. Musiałem wyczyścić sln, a następnie znalazłem plik z testami, które nie działały i uruchomiłem tylko ten plik. Potem uruchomiłem wszystko i znowu działało normalnie.

Promień
źródło
1

Sprawdź plik projektu pod kątem odniesień do NUnit w różnych wersjach:

W moim przypadku zainstalowałem wersję 3.11.0zarówno NUnit, jak i NUnit3TestAdapter , ale 2.6.4w pliku projektu były stare odniesienia do wersji , które nie zostały usunięte podczas nowej instalacji.

  • Rozwiązanie (zalecane w celu rozwiązania problemów z odwołaniami, zobacz dokumentację ):

    Zainstaluj ponownie, NUnita NUnit3TestAdapterto naprawiło odwołania w moim projekcie.
PM> Update-Package NUnit -reinstall
...
PM> Update-Package NUnit3TestAdapter -reinstall
  • Rozwiązanie 2 (w przypadku ponownej instalacji nie naprawiono odniesień):

    Odinstaluj i zainstaluj NUniti NUnit3TestAdapter.
PM> Uninstall-Package NUnit
...
PM> Uninstall-Package NUnit3TestAdapter
...
PM> Install-Package NUnit
...
PM> Install-Package NUnit3TestAdapter
Yasel
źródło
1

W moim przypadku udało się zaktualizować pakiety nuget MSTest. Mogło odtworzyć ten problem nawet w przypadku pustego projektu MSTest i aktualizacja pakietów działała.

CodingYourLife
źródło