Hallo zusammen!
Ich habe einen JUnit-Test geschrieben. Dieser testet eine Methode, die eine JOptionPane wirft. Ich habe das Problem zwar jetzt umgangen, indem ich per Mocking einer anderen Variable garnicht erst zulasse, dass er in die If-Bedingung reingeht, wo die JOptionPane aufgerufen wird.
Jedoch würde mich trotzdem interessieren, um zu lernen, wie man JOptionPane richtig mockt.
Ich habe das einmal so versucht:
Dies führt allerdings zu einer IllegalArgumentException:TypeMismatch. Das kann ich mir nicht wirklich erklären, da die Argumente Component und Object definitiv die richtigen Argumente der Methode showMessageDialog sind...
Das Benutzen der Annotation @RunWith: PowerMockRunner.class führte in einem vorherigen Test zu einer Linkage-Exception- im konkreten Zusammenhang mit einer JTable und dem RepaintManager...
Freue mich über eure Hinweise!
Gruß
Ich habe einen JUnit-Test geschrieben. Dieser testet eine Methode, die eine JOptionPane wirft. Ich habe das Problem zwar jetzt umgangen, indem ich per Mocking einer anderen Variable garnicht erst zulasse, dass er in die If-Bedingung reingeht, wo die JOptionPane aufgerufen wird.
Jedoch würde mich trotzdem interessieren, um zu lernen, wie man JOptionPane richtig mockt.
Ich habe das einmal so versucht:
Java:
@PrepareForTest({ JOptionPane.class })
...
PowerMockito.mockStatic(JOptionPane.class)
PowerMockito.doNothing().when(JOptionPane.class, "showMessageDialog", Component.class, Object.class);
Dies führt allerdings zu einer IllegalArgumentException:TypeMismatch. Das kann ich mir nicht wirklich erklären, da die Argumente Component und Object definitiv die richtigen Argumente der Methode showMessageDialog sind...
Das Benutzen der Annotation @RunWith: PowerMockRunner.class führte in einem vorherigen Test zu einer Linkage-Exception- im konkreten Zusammenhang mit einer JTable und dem RepaintManager...
Freue mich über eure Hinweise!
Gruß