Kann Mockito / JUnit-Code in Eclipse nicht debuggen, funktioniert nur mit JUnit

9

Ich habe JUnit-Tests, die gut laufen. Mockito wurde zu meinem Build hinzugefügt und ich versuche, einen Breakpoint in meinen JUnit-Test zu setzen, der Mockito verwendet, um einige der öffentlichen Methoden auszuprobieren. Wenn ich versuche, den Debugger für die Klasse auszuführen, erhalte ich den Fehler "Kann den Haltepunkt in XXX aufgrund fehlender Zeilennummernattribute nicht installieren. Ändern Sie die Compileroptionen, um Zeilennummernattribute zu generieren." Ich habe meinen Compiler überprüft und ich generiere Zeilennummern ausgewählt.

    
Albert T. Wong 01.07.2010, 02:45
quelle

5 Antworten

2

Versuchen Sie, indem Sie Ihre Haltepunkte entfernen und erneut hinzufügen. Möglicherweise verweist ein aktueller Haltepunkt nur auf eine alte Version einer Klasse. Nur das!

Vielleicht kann dieser Beitrag in der Mockito-Gruppe Ihnen weiterhelfen.

    
user321068 16.11.2011 07:46
quelle
1

Ich habe die gleichen Nachrichten (Eclipse Luna).

Trotz der großen Anzahl von Fehlermeldungen funktioniert das Debugging immer noch, wenn der Debugger den Haltepunkt erreicht. Sie müssen nur auf "OK" klicken oder diese Nachrichten deaktivieren.

Ich denke, das Problem rührt von der Platzierung von Haltepunkten in einer erweiterten Klasse her (Mockito erweitert wahrscheinlich dynamisch die gespielten Klassen) und Eclipse kann den Quellcode nicht aufspüren.

    
wouter 05.10.2015 08:23
quelle
1

Die Ausnahme, die Sie sehen, wird durch den Versuch verursacht, dynamisch generierte leere Mock-Methoden zu debuggen, die von der Funktion mock () erstellt wurden. Aus Ihrer Frage sieht es so aus, als wollten Sie tatsächlich partielle Mocks anstelle von vollen Mocks verwenden, wobei nur einige Methoden verspottet werden und die verbleibenden Aufrufe an die reale Implementierung delegiert werden.

Um partielle Mocks zu erstellen, sollten Sie anstelle der Methode mock () die Methode spy () verwenden. Also, benutze

%Vor%

statt

%Vor%     
cleberz 25.07.2016 16:01
quelle
0

Wenn es nur passiert, wenn Sie Mockito verwenden, dann liegt es vielleicht daran, dass Mockito ohne Debugger-Unterstützung kompiliert wurde?

Überprüfen Sie außerdem, ob Sie die gleichen Compilereinstellungen für Ihre Testklassen wie für Ihren normalen Code haben.

    
Mike Baranczak 01.07.2010 04:01
quelle
0

Abgesehen davon, dass diese Frage alt war, hatte ich heute dasselbe Problem und die Lösung war ziemlich einfach, aber ich brauchte einige Zeit, um es herauszufinden. Das kann also hilfreich sein, wer hier stolpert.

Ich hatte gerade einen alten Haltepunkt gesetzt und einer von ihnen zeigte auf einen veränderten Code, so dass die aufgezeichnete Haltepunktposition nicht mehr gut war.

Ich rate dazu, alle anstößigen Breakpoints zu entfernen und sie im aktuellen Code neu zu installieren. Nach einem sauberen Build, nur um sicher zu sein, auf die neueste Binärdatei zu zeigen. :)

    
RobMcZag 01.12.2015 07:07
quelle

Tags und Links