Używam wywołania JOptionPane.showInputDialog
w moim kodzie. Po uruchomieniu testów junit wyskakuje okno. Czy istnieje sposób na zablokowanie wyskakującego okienka? Wold kpiąc z pomocy? Proszę mi pomóc w tej sprawie.Suppress JOptionPane.showInputDialog w junitowym teście
6
A
Odpowiedz
2
Wiem - to pytanie jest starożytne. Ale może czasami ktoś będzie miał ten sam problem ...
Pamiętaj: To twój kod, prawda? Dzięki czemu można łatwo byłaby z
public boolean myMethod() {
String value = "NOTHING";
if(this.someCondition) {
value = JOptionPane.showInputDialog(...);
}
return "NOTHING".equals(value);
}
do
public boolean myMethod() {
String value = "NOTHING";
if(this.someCondition) {
value = getValueFromDialog();
}
return "NOTHING".equals(value);
}
protected getValueFromDialog() {
return JOptionPane.showInputDialog(...)
}
to zrobić, można napisać test szyderczy dala rzeczywistą wywołanie JOptionPane (Przykład wykorzystuje Mockito składni)
@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());
}
Wszystko done - teraz dodaj testy symulujące wszystkie zabawne rzeczy, które mogą się wydarzyć w wyniku JOptionPane.showInputDialog() (zwracanie wartości null, zwracanie nieoczekiwanych wartości ...) przez proste dodanie g przypadków testowych i różnych wartości dla
when(toTest.getValueFromDialog()).thenReturn(...);
Powiązane problemy
- 1. Autowire nie działa w junitowym teście
- 2. Wiele danych wejściowych w JOptionPane.showInputDialog
- 3. F # Suppress Ostrzeżenia
- 4. jak zmienić domyślny tekst przycisków w JOptionPane.showInputDialog
- 5. Understanding TransactionScopeOptions: RequewNew = Suppress + Required?
- 6. Połączenie odmówiono z zapewnionym junitowym testem przypadku
- 7. suppress ostrzeżenie dla wygenerowanego kodu C#
- 8. expect_error_or_warning w teście?
- 9. LinkedList użyte w teście wywiadu
- 10. Prześmiewanie HTTPResponse w teście jednostkowym
- 11. Pomijanie stałych w teście kątomierza
- 12. Złożoność algorytmu w teście online
- 13. Wyjątek połowu w teście jednostkowym
- 14. Zdobądź token CSRF w teście
- 15. Porównanie tablic w teście Google?
- 16. Użycie inicjalizatora w teście jednostki?
- 17. Stubbing e.preventDefault() w teście jaśminowym
- 18. Angular2 - kpina TrasaParams w teście
- 19. Powershell Suppress Copy-Item Błąd "Folder już istnieje"
- 20. Wielokrotne mocks vs kpiny w każdym teście
- 21. Ustawianie rozmiaru rzutni PhantomJS w teście QUnit
- 22. $ $$ checkUrlChange przeglądarka jest niezdefiniowana w teście jaśminowym
- 23. Set opcja debugowania w teście Gulp Karma
- 24. Anulowanie orkiestracji w długim teście jednostkowym
- 25. Konfiguracja kątowa z operatorem w teście Jasmine
- 26. Rejestrowanie wiadomości w teście junit z Androidem
- 27. Importowanie kodu testowego w teście jednostki eliksiru
- 28. W teście Jest, skąd pochodzi obiekt okna?
- 29. Grupy warunków złożonych w teście Bash
- 30. Powtórzenie wszystkich ścieżek programu Play w teście