wake-up-neo.net

Visual Studio - kann Tests plötzlich nicht debuggen

Ich bin nicht sicher, was ich getan habe, aber plötzlich wird mein Visual Studio 2012 keine Tests debuggen.

Wenn ich im Test Explorer einen Test auswähle und ihn ausführen lasse, gibt er dies einfach im Fenster Test Output aus:

> ------ Discover test started ------
> ========== Discover test finished: 29 found (0:00:01.3371755) ==========
> ------ Run test started ------ Process with an Id of -1 is not running.
> ========== Run test finished: 0 run (0:00:01.4711861) ==========

was zum Teufel bedeutet das ?! Nachdem dies einige Male ausgeführt wurde, wurde der Fehler folgendermaßen geändert:

The Operation was Cancelled

was ich sicher nicht getan habe.

Dies wird bei jedem Test in der Liste durchgeführt.

ich kann die Tests jedoch nicht ausführen und sie bestehen ... aber ich kann die Tests nicht debuggen.

Was hätte ich tun können Ich habe nicht aktiv in irgendwelche Einstellungen eingegriffen und irgendetwas geändert, vielleicht irgendwo ein verirrtes Klicken, aber wo?

37
SelAromDotNet

Das ist mir heute begegnet. Ich habe versucht, die Lösung zu schließen, aber es hat nicht funktioniert. Mein Fehler Ich habe meine Lösung auf den Release-Modus anstatt auf den Debug-Modus gesetzt. Ich habe es auf Debug gesetzt, dann funktionierte es wie erwartet.

Ich verwende VS 2015 Professional.

35
Tom Mabaquiao

Ich erhielt dieselbe Ausgabe, nachdem ich ein Testprojekt von VS 2010 auf VS 2012 Ultimate Update 3 aktualisiert hatte. Die Nachricht wurde im Fenster "Testausgabe" angezeigt, nachdem der Befehl MSTest verwendet wurde, um Debug Selected Tests auszuführen. 

Ich habe versucht, Tests mit dem Resharper 8 Unit Test Session -Fenster zu debuggen. Die Meldung im Ergebnisfenster war "Test wurde nicht ausgeführt".

Die Lösung, die mir dabei geholfen hat, bestand darin, die Testprojekteinstellungen zu ändern, um das Debuggen von nativem Code zu aktivieren, wie unter diesem Link beschrieben: Nicht erfasste Ausnahme, die von einer durch Reflektion aufgerufenen Methode ausgelöst wird

Falls der Link nicht funktioniert:

  1. Gehen Sie mit der rechten Maustaste auf das Projekt und wählen Sie Eigenschaften aus.
  2. Wählen Sie links die Registerkarte "Debug".
  3. Klicken Sie unten auf "Debugger aktivieren"
  4. Aktivieren Sie das Kontrollkästchen "Nativen Code-Debugging aktivieren" (oder "Nicht verwalteten Code-Debugging aktivieren", abhängig von der Version)

Vielen Dank an GalDude33 für die Veröffentlichung der Lösung.

19
Branko

Habe regelmäßig dasselbe Problem mit Visual Studio 2012 .

Lösung: Aktuelle Lösung schließen und erneut öffnen .

In meinem Fall war das Schließen und Wiederöffnen von VS nicht notwendig.

13
Pragmateek

Bitte folgen Sie den nachfolgenden Schritten. Es hat für mich funktioniert

Schritte.

1.Schließen Sie Ihre Visual Studio-Instanzen

2.Säubern Sie temporäre Dateien und Prefetch-Dateien.

3.Löschen Sie die Dateien im Ordner "Projektordner".

4.Starten Sie die Anwendungen neu.

4
swathi cv

Stellen Sie sicher, dass Ihr Testprojekt Teil der zu erstellenden Projekte ist.

  • Klicken Sie mit der rechten Maustaste auf Ihre Lösung von Solution Explorer
  • Gehe zu Startup-Projekte festlegen ..
  • Klicken Sie auf Configuration Properties und stellen Sie sicher, dass Ihr Test-Projekt auf Build geprüft wird
2
Peter.Ombwa

Ich hatte ein ähnliches Problem in VS2015 . Nur ein Unit-Test konnte in meinem Fall nicht debuggt werden. Der Debugger würde einen Test initialisieren, den Test selbst aber nicht debuggen, was schön ist. Das Problem bestand darin, dass Resharper die Bibliothek Newtonsoft.Json importierte, ohne das NuGet-Paket für das Projekt zu aktivieren. (Ich habe Alt + Enter verwendet, um die Bibliothek automatisch zu importieren.)

Lösung war das Newtonsoft.Json NuGet-Paket für das Testprojekt zu installieren.

2
user2957464

Async-Tests - Die Symptome in meinem Szenario waren ähnlich, da mein Test nicht ausgeführt wurde und mein Haltepunkt nicht erreicht wurde. Der Test Explorer in Visual Studio konnte den Test sehen, aber ich konnte ihn nicht debuggen. Bei der Ausführung wurde es so gefunden, als ob es nicht gefunden werden konnte, obwohl es im Test Explorer zu sehen war.

Falls es jemandem hilft, war mein Problem so einfach, dass ich die Signatur der Testmethode von "async void " in "async Task " ändern musste.

Mach das:

[TestMethod]
public async Task CorrectlyFailingTest()
{
  await SystemUnderTest.FailAsync();
}

Nicht das:

[TestMethod]
public async void CorrectlyFailingTest()
{
  await SystemUnderTest.FailAsync();
}
1
Paul Schroeder

Wenn ich Visual Studio 2012 verwende, wird es aus bestimmten Gründen bei Verwendung der Tastenkombination Strg + T an den Haltepunkt gelangen. Wenn ich jedoch im Test Explorer auf "Alle ausführen" oder "Ausgewählten Test ausführen" klicke, wird dies nicht der Fall sein. Visual Studio 2013 funktioniert jedoch in beide Richtungen.

1
paibamboo

Aktualisieren Sie das Nuget-Paket von MSTest.TestAdapter und MSTest.TestFramework auf die neueste Version, um das Problem zu lösen.

1
Youngjae

Werfen Sie einen Blick auf den folgenden Link, dort ist ein Update, das das Problem behebt . Visual Studio 2012 Update 3.

http://social.msdn.Microsoft.com/Forums/vstudio/de/e96f53c7-dc8c-4274-8756-eb745de701e8/visual-studio-2012-update-3-cant-debug-unit-test

1
user2682517

In meinem Fall kann der Haltepunkt nicht erreicht werden, wenn eine Build-Warnung vorliegt. Ich kann das überprüfen, indem ich die Codezeile mit Warnung umschalte. Es war ein nicht verwendeter String mit der Länge 66000 . (Warnung CS0219 Die Variable 'XXXXXXX' wird zugewiesen, aber der Wert wird nie verwendet.)

Ich vermute, der Compiler hat diese Zeile entfernt, sodass die Symbolzuordnung fehlgeschlagen ist.

0
Yiping

In meinem Fall wurden meine Symbole nicht geladen.

Ich musste zu Extras -> Optionen -> Debugging -> gehen und "Alle Module laden, sofern nicht ausgeschlossen" auswählen, damit die Haltepunkte getroffen werden.

 enter image description here

0
pushkin

Keine der vorgeschlagenen Lösungen hat für mich funktioniert. Was für mich funktioniert hat, ist das Ändern des Unit-Test-Projekts und des Plattform-Ziels aller abhängigen Projekte auf Beliebige CPU anstelle von x64 das ist eine Art Workaround, keine echte Lösung !!

[~ # ~] edit [~ # ~]

Die Zielplattform für ein Komponententestprojekt kann in den Testeinstellungen und nicht in den Projekteigenschaften geändert werden. Weitere Informationen finden Sie unter diese Antwort .

0
Ibrahim Amer

Lösung: Wählen Sie 'Debug Unit Tests' oder 'Run Unit Tests' anstelle von 'Debug Tests' oder 'Run Tests' aus.

0

Wenn Sie auf "Run tests" klicken, werden die Haltepunkte nicht ausgelöst. 

So debuggen Sie Ihren Code und halten an einem Haltepunkt in einem Test an:

Klicken Sie mit der rechten Maustaste> Debug-Tests

oder

Registerkarte "Test"> Debuggen> Alle Tests

0
Chris Mathew

Stellen Sie sicher, dass das Testprojekt und das Hauptprojekt dieselbe Framework-Version verwenden.

 enter image description here

0
Marco Staffoli

Für mich bestand das Problem darin, dass sich die Eigenschaften meiner Lösung nach einem Upgrade auf 2017 v15.5.7 irgendwie geändert haben. Was machte es, wo ich den Test einmal im Debug-Modus ausführen konnte, aber nicht wieder, wenn ich VS nicht neu gestartet habe, dann würde es wieder funktionieren, einmal. Nachdem ich es wieder eingestellt hatte, funktionierte es wieder. Die Einstellung war und sollte für mich Lösung> Allgemeine Eigenschaften> Startprojekt> Mehrere Startprojekte sein. Irgendwie wurde es auf "Ein Startup-Projekt" gesetzt.

0
Shawn Smith

Ab Visual Studio 2017 (15.8) kann dies passieren, wenn die Funktion Live Unit Testing aktiv ist. Es gibt keine klare Nachricht in der Ausgabe. es startet und stoppt ohne zu debuggen. Die Lösung beendet den Live-Test, sodass Sie den Test normal debuggen können.

Für mich hat folgendes gearbeitet:

  1. Lösung schließen
  2. Schließen Sie Visual Studio 
  3. Löschen Sie den Inhalt von "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files \" 
  4. Löschen Sie den Inhalt von "C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files \"
  5. Öffnen Sie Visual Studio
  6. Lösung öffnen
0
wh1tet1p

Für mich bestand das Problem darin, dass meine Konfigurationsdatei ( app.config ) nicht über die Debug-Transformationsdatei ( app.Debug.config ) verfügte, sobald ich sie hinzugefügt habe, fange ich wieder an zu arbeiten/debuggen.

0
Jaider

app.config Problemreferenzen kann dazu führen, dass der Debugger nicht verbunden wird und Haltepunkte beim Debuggen von Testprojekten nicht erreicht werden. Diese Datei wurde möglicherweise von Paketen aktualisiert oder ist veraltet.

Lösung: Im Allgemeinen kopiere und entferne ich alle Abhängigkeiten unter dem Laufzeit-Tag aus der app.config des Testprojekts. Das Debugging beginnt normalerweise danach, aber einige Referenzen müssen möglicherweise wieder hinzugefügt werden, wenn keine Baugruppen gefunden werden können.

0
mhapps

Dies ist möglicherweise keine Lösung für Ihr Problem, aber ich konnte auch einen Test, den ich geschrieben hatte, nicht debuggen. Die Lösung war ziemlich einfach:

Ändern Sie die Methode von private in public. Ich weiß nicht, warum das Debuggen in privaten Methoden nicht möglich ist, aber wahrscheinlich hat es etwas mit der Implementierung des Attributs [Test] zu tun. Ich hoffe, das hilft jedem, der in Zukunft mit einem ähnlichen Problem zu kämpfen hat!

0

Ich konnte keine Verbindung zu meinem Debugger herstellen, da nach der Testeinstellungsdatei gesucht wurde.
Wenn dies Ihr Problem ist, gehen Sie zu Test-> Testeinstellungen-> Deaktivieren Sie die Option Local.testsettings

 Unit Test Debugging Fix

0