Ich verwende den JOptionPane.showInputDialog
Aufruf in meinem Code. Wenn die Junit-Tests ausgeführt werden, erscheint das Fenster. Gibt es eine Möglichkeit, das Popup zu unterdrücken? Wold spottet es helfen? Bitte helfen Sie mir dabei.Unterdrücken Sie JOptionPane.showInputDialog in Junit Test
6
A
Antwort
2
Ich weiß - diese Frage ist alt. Aber vielleicht hat jemand das gleiche Problem ...
Erinnern Sie sich: Es ist Ihr Code, nicht wahr? So können Sie leicht aus
Refactoringpublic boolean myMethod() {
String value = "NOTHING";
if(this.someCondition) {
value = JOptionPane.showInputDialog(...);
}
return "NOTHING".equals(value);
}
zu
public boolean myMethod() {
String value = "NOTHING";
if(this.someCondition) {
value = getValueFromDialog();
}
return "NOTHING".equals(value);
}
protected getValueFromDialog() {
return JOptionPane.showInputDialog(...)
}
Nachdem dies geschehen, können Sie einen Test schreiben die tatsächliche Aufruf von JOptionPane spöttischen weg (Beispiel verwendet Mockito Syntax)
@Test
public void test_myMethod() {
MyClass toTest = mock(MyClass.class);
//Call real method we want to test
when(toTest.myMethod()).doCallRealMethod();
//Mock away JOptionPane
when(toTest.getValueFromDialog()).thenReturn("HELLO JUNIT");
//Perform actual test code
assertFalse(toTest.myMethod());
}
Alle fertig - jetzt fügen Sie Tests hinzu, die all die lustigen Dinge simulieren, die als Ergebnis von JOptionPane.showInputDialog() (das null zurückgibt und unerwartete Werte zurückgibt) durch einfaches AddIn entstehen können g Testfälle und verschiedene Werte für
when(toTest.getValueFromDialog()).thenReturn(...);
Verwandte Themen
- 1. JOptionPane.showInputDialog
- 2. assertEquals in JUnit-Test
- 3. Generic JUnit Test Klasse
- 4. Objects.equals für jUnit test
- 5. Wie JUnit-Test in Eclipse
- 6. Test Hauptmethode von Junit
- 7. Spring Junit Test Ausgabe
- 8. ArrayList Gleichheit JUnit Test
- 9. JUnit-Test AroundInvoke Interceptor
- 10. JUnit Test Ausgabe
- 11. Struts 2.3.14 junit test
- 12. JUnit-Test für System.out.println()
- 13. SetUp, initiiere Junit-Test
- 14. junit test case generator
- 15. JUnit Ausnahmen Handhabung Test
- 16. Intellij: Ändern JUnit Test Klassenvorlage
- 17. Junit Test mit Mockito NotaMockException
- 18. wie zu JUnit test IntentService
- 19. Null-Zeiger-Ausnahme in JUnit-Test
- 20. JUnit Test im Frühling Anwendung
- 21. schreibe eclipse junit plugin test
- 22. Junit-Test - assertEquals für Ausnahme
- 23. Junit-Test für Datenbank-Verbindung
- 24. JUnit-Test für assertEqual NullPointerException
- 25. Wrapping von Findbugs in einem Junit-Test
- 26. Stopp JUnit-Test in @Before Verfahren ohne
- 27. Mocking Android-Methode in Junit Test
- 28. Log-Nachrichten in Android Studio Junit Test
- 29. Autowire ein Feder Service in JUnit-Test
- 30. Autowire funktioniert nicht in Junit Test