NetBeans Netbens - Unittest debuggen

White_Fox

Top Contributor
Morjen allerseits.

Als ich noch mit Netbeans 8 gearbeitet habe, war es für Netbeans kein Problem einen einzelnen Unittest zu kompilieren, auszuführen und zu debuggen. Wenn noch Compilerfehler in anderen Klassen vorhanden waren, war Netbeans das egal solange diese Klassen nicht im Test benötigt wurden.

Seit ich auf Netbeas 12.4 umgestellt habe, ist mir jedoch aufgefallen daß er immer alles komplett kompiliert - auch Dinge, die für einen einzelnen Testlauf gar nicht notwendig sind.

Jetzt hab ich ein kleines Problem:
Ich habe ein paar grundlegene Strukturänderungen vorgenommen was jetzt dazu führt, daß vier Unittests nicht kompilierbar sind (allerdings nur die Unittests, die zugehörigen Klassen werfen keine Compilerfehler). Ich will diese Unittests jetzt auch noch nicht reparieren.

Einen anderen Unittest will ich jedoch debuggen, und da weigert sich Netbeans. Der Test läuft zwar durch, aber wenn ich Debuggen will, bricht der Compiler ab. Mit Netbeans 8 hätte das aber funktioniert.

Hat jemand eine Idee, wie ich Netbeans zur Kooperation zwingen kann?
 
@mrBrown
Ich schau mal wie man das macht...danke.
Edit:
Ach halt, javac...siehr unten:

@mihe7
Nein, nb-javac hab ich nicht installiert. Ich weiß nicht warum, aber das hat im neuen Netbeans zu einigen sehr merkwürdigen Fehlern geführt. Unter anderem erstellt Netbeans dann bei mir kein Projekt mehr, weil er irgendwo mittendrin abbricht.
 
Mach mich nicht schwach, ich hab mir gestern 12.4 draufgehauen (aber noch nix probiert) 🙂 Aber, wenn ich es richtig sehe, ist nb-javac Voraussetzung für den Spaß.
 
Viel Spaß mit 12.4. 😉

Nein, eigentlich ist das neue Netbeans in Ordnung, aber ich hab mir mein Netbeans 8 halt mit jeder Menge Plugins vollgestopft, und das alte Plugin-Portal gibt es nicht mehr. Und sich die Plugins aus der alten IDE zu importieren ist etwas krampfig, aber letztendlich hab ich viele der Tools wieder zum Laufen gebracht, teilweise auf Github zusammengeklaubt, aber auch die laufen öfters nicht mehr weil irgendein verdammtes Repository fehlt.
Ich bin da vielleicht etwas pingelig, ich hasse dieses weißbraune Standardschema, mag dafür das dunkle Norway-by-Night-Schema, solche kleinen Dinge wie die Codemap rechts am Editor, und noch ein paar andere Kleinigkeiten. Nicht lebenswichtig, aber es nervt einfach zu sehr wenn sie nicht mehr da sind.

Du kannst ja mal mit nb-javac rumprobieren und berichten, bevor ich mir die IDE wieder zerhauhe. 😉
 
Sehr fortschrittlich...Rasehnmäher mit integriertem Webbrowser, sodaß du während der Arbeit im Forum schreiben kannst.
Hat das Ding WLAN...oder mußt du noch ein Kabel hinterherschleifen?
 
Sehr fortschrittlich...Rasehnmäher mit integriertem Webbrowser, sodaß du während der Arbeit im Forum schreiben kannst.
Hat das Ding WLAN...oder mußt du noch ein Kabel hinterherschleifen?
Das WLAN-Kabel... bring mich nicht auf solche Gedanken, sonst sieht man mich hier mit dem festgeschnallten Tablet mähen, bevor ich von Männern in weißen Kitteln abgeholt werde. Draußen herrscht brütende Hitze und ich warte, bis der Schatten kommt und in der Zwischenzeit ... 🙂
 
So, habe das mal getestet:
  1. Neues Maven Projekt erstellt
  2. Klasse Vector hinzugefügt, einfach ein Konstruktor und eine Methode size() für den Test.
  3. Testklasse erzeugen lassen (Junit 5) - hier macht NB einen Fehler und erzeugt doppelten Code. Für mich nicht interessant, weil ich die Teile normalerweise sowieso von Hand aufbaue -> rausgeworfen.
  4. Klasse Matrix erzeugt, dort einen Fehler eingebaut, so dass die Klasse nicht kompilierbar ist.
  5. In VectorTest in der Sidebar auf Höhe der testSize Methode den grünen Pfeil angeklickt -> Run testSize method
  6. NB meldet, dass dafür Surefire 2.22.0 benötigt wird -> zur POM hinzufügen lassen
  7. Punkt 5. wiederholt, Test wird ausgeführt:
Code:
Running NetBeans Compile On Save execution. Phase execution is skipped and output directories of dependency projects (with Compile on Save turned on) will be used instead of their jar artifacts.

Scanning for projects...

-------------------------< de.mihe:simpletest >-------------------------
Building simpletest 1.0-SNAPSHOT
--------------------------------[ jar ]---------------------------------

--- maven-surefire-plugin:2.22.0:test (default-cli) @ simpletest ---
file.encoding cannot be set as system property, use <argLine>-Dfile.encoding=...</argLine> instead

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running de.mihe.simpletest.VectorTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.041 s - in de.mihe.simpletest.VectorTest

Results:

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time:  3.863 s
Finished at: 2021-08-15T13:07:54+02:00
------------------------------------------------------------------------


1629026221135.png
Von der Active-Anzeige nicht täuschen lassen: wenn ich die Details einblende, sehe ich, dass der JET Support deaktiviert, nb-javac aber aktiviert ist.
 
Hm.. beim ant-Projekt kommt ein Fenster, dass es Fehler gibt, dann kann ich auf "Run anyway" klicken. Dann allerdings gibt es einen weiteren Fehler, dass junit.jar im Classpath sein müsste... Binde ich statt JUnit 5 JUnit 4 (4.1.2 + hamcrest-core) ein, läuft es auch da durch.
 
So, das nb-javac-Plugin hab ich installiert, allerdings läuft das immer noch nicht.

Wenn ich die Stellen in den anderen Tests, die er anmeckert, einfach auskommentiere, dann macht Netbeans was es soll. Hast du eine Idee, wie ich den Rat von mrBrown ausprobieren kann?
 

Neue Themen


Zurück
Oben