Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.java > #12986
| From | "Christian H. Kuhn" <qno-news@qno.de> |
|---|---|
| Newsgroups | de.comp.lang.java |
| Subject | Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle |
| Date | 2016-07-11 01:13 +0200 |
| Message-ID | <dug351Fdm4hU1@mid.individual.net> (permalink) |
| References | <du7ob7Fecu7U1@mid.individual.net> <Schachuhr-20160709202707@ram.dialup.fu-berlin.de> |
Am 09.07.2016 um 21:27 schrieb Stefan Ram: > Du hast QChessClock anscheinend schon geschrieben. Aber oben > schreibst Du, Du wolltest »erst die Tests und dann den Code > schreiben«. Aber das geht doch nicht, wenn Du QChessClock schon > geschrieben hast! Deswegen mußt Du nun QChessClock erst einmal > wieder löschen, dann vergessen, dann die Tests schreiben, und > dann QChessClock. Selbst Kent Beck schreibt, dass er gelegentlich von der reinen Lehre abweicht, dann aber die Tests baldmöglichst nachliefert. Ich habe mit einer gewissen Zeit gerechnet, die ich brauche, um mein Wissen hier mit eurer Hilfe zu erweitern. Die Zwischenzeit habe ich genutzt, um ... wie war noch mal die Ausrede ... ach richtig: explorativen Code zu schreiben ;-) > Model <--- Swing-UI > <--- Android-UI > <--- Test Ja, das hat Patrick so ähnlich vorgeschlagen. Bei ihm war es noch ein Mock-Objekt, das in der Testklasse implementiert, QChessClockObserver implementiert und Methoden bereitstellt, mit denen über die verschiedenen update()-Funktionen Zustände des Observables ausgelesen werden können. Wenn man den Weg konsequent durchdenkt, ist es tatsächlich so, dass die Testklasse selbst zum Observer wird, und damit formal zu einer weiteren UI. > Eventuell ist ein Anwendungsmodell nötig, wenn mehr > UI-spezifische Logik nötig ist. > > Model <--- Swing-Anwendungsmodell <--- Swing-UI > <--- Test > <--- Android-Anwendungsmodell <--- Android-UI > <--- Test > <--- Test > > Dann kannst Du die Anwendungsmodelle auch testen. Da lese ich mich gerade ein, Stichworte Model View Presenter und Presentation Model. Ich habe auch die JAVA-GUI mal „explorativ“ implementiert. Und NATÜRLICH funktioniert die. Es ist ja bislang, in der Light-Funktion, auch nur wenig Funktionalität erforderlich, und die Darstellung kann ich eigentlich nur überprüfen, indem ich einen Blick auf die laufende GUI werfe. actionPerformed() ruft auf jeden Click und jedes MenüItem unmittelbar die entsprechende Funktion des Models auf. Die verschiedenen update() setzen verschiedene Eigenschaften der GUI (Zeitanzeige, Farben, setEnabled()). JaCoCo spricht von 167 Zeilen Code, davon ist ein Drittel Logik (und davon wieder ein Drittel die switch-Anweisung in actionPerformed()) und zwei Drittel Präsentation. Das geht theoretisch auch ohne Test. Aber mir geht es ja nicht in erster Linie um funktionierende Software, sondern ums Lernen. > Um das Programm mitsamt der UI zu testen, gibt es bei > Android unter anderem »UI/Application Exerciser Monkey« > und bei Swing »java.awt.Robot«. Eine andere Möglichkeit habe ich auf http://www.javaworld.com/article/2073056/swing-gui-programming/automate-gui-tests-for-swing-applications.html gefunden. Das muss ich mir alles nochmal genau anschauen ... mfg QNo
Back to de.comp.lang.java | Previous | Next — Previous in thread | Find similar
Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-07 21:19 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Peter <peter@localhost.com> - 2016-07-07 22:37 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Michael Paap <feunews@mpaap.de> - 2016-07-07 23:21 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-08 14:09 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Wanja Gayk <brixomatic@yahoo.com> - 2016-07-08 22:10 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Patrick Roemer <sangamon@netcologne.de> - 2016-07-09 00:17 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Wanja Gayk <brixomatic@yahoo.com> - 2016-07-18 00:33 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-18 01:01 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Patrick Roemer <sangamon@netcologne.de> - 2016-07-19 10:58 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Wanja Gayk <brixomatic@yahoo.com> - 2016-07-21 00:07 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-19 14:09 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Patrick Roemer <sangamon@netcologne.de> - 2016-07-08 00:28 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-08 14:13 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-08 16:05 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Wanja Gayk <brixomatic@yahoo.com> - 2016-07-08 22:35 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Patrick Roemer <sangamon@netcologne.de> - 2016-07-09 00:01 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-11 00:40 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-15 23:25 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-15 00:12 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Wanja Gayk <brixomatic@yahoo.com> - 2016-07-08 21:57 +0200
Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-11 01:13 +0200
csiph-web