assertj / assertj/assertj-swing

IllegalThreadStateException in EDT

Offen
#241 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
121
Forks
52
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Hi all,
(I opened this issues by mistake in assertj-core, too. Sorry for that).

the documentation says that the code using AssertJ should run in the EDT. I am running a JUnit test that actually runs in the EDT.

However, when invoking code like this on a JTreeFixture:
jtf.showPopUpMenu(2)
I am getting an exception

java.lang.IllegalThreadStateException: Cannot call method from the event dispatcher thread
at org.assertj.swing.core.BasicRobot.waitForIdle(BasicRobot.java:825)
at org.assertj.swing.core.BasicRobot.waitForIdle(BasicRobot.java:794)
at org.assertj.swing.core.BasicRobot.moveMouse(BasicRobot.java:538)
at org.assertj.swing.core.BasicRobot.moveMouse(BasicRobot.java:528)
at org.assertj.swing.core.BasicRobot.moveMouse(BasicRobot.java:522)
at org.assertj.swing.core.BasicRobot.focus(BasicRobot.java:292)
at org.assertj.swing.core.BasicRobot.focusAndWaitForFocusGain(BasicRobot.java:270)
at org.assertj.swing.core.BasicRobot.showPopupMenu(BasicRobot.java:889)
at org.assertj.swing.driver.JTreeDriver.showPopupMenu(JTreeDriver.java:676)
at org.assertj.swing.fixture.JTreeFixture.showPopupMenuAt(JTreeFixture.java:579)

Wait for Idle explicitely wants not to be run in the EDT. I tried running the code in a thread of its own but did not succeed. Any suggestions on how to tackle this problem would be most welcome.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, JTreeFixture.showPopUpMenu(2) aus dem gemeldeten JUnit-Testkontext zu reproduzieren, und lies dann in BasicRobot.java den Bereich um waitForIdle sowie den JTreeDriver.java/JTreeFixture.java-Popup-Menüpfad im Stacktrace. Als erledigt gilt die Aufgabe, wenn das Popup-Menü-Szenario beim Ausführen des Tests auf dem EDT keine IllegalThreadStateException mehr auslöst und das Verhalten durch einen Test verifiziert ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
desktop, testing
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.