Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testen mit Mockito #31

Open
kkaiser12 opened this issue Dec 5, 2018 · 7 comments
Open

Testen mit Mockito #31

kkaiser12 opened this issue Dec 5, 2018 · 7 comments

Comments

@kkaiser12
Copy link
Contributor

kkaiser12 commented Dec 5, 2018

Da ich in diesem Sprint ansonsten relativ wenig Arbeit habe, hab ich mir jetzt mal angeschaut, wie bei der Gruppe mit 100% Testabedeckung das Testen funktioniert. Die nutzen eine Library namens Mockito, mit der man Objekte simulieren kann, die außerhalb des eigentlichen Javacodes erzeugt werden, also z.B. den Input, den Alexa bekommt. Ich hab auch schon mal ein kleines Beispiel gemacht (LaunchRequestHandlerTest) , das könnt ihr euch ja mal anschauen und dann sagen, ob ihr das gerne nutzen würdet oder nicht. Ich finde es ziemlich gut, aber ich glaube, man muss sich schon erst etwas einarbeiten.

Ich weiß nicht genau, ob ihr die library über git bekommt, ansonsten könnt ihr sie hier downloaden:
https://bintray.com/mockito/maven/mockito-development/2.23.9?versionPath=%2Fmockito%2Fmaven%2Fmockito-development%2F2.23.9#files/org%2Fmockito%2Fmockito-core%2F2.23.9

(Bei Files unter dem Pfad /org/mockito/mockito-core/2.23.9 die Datei mockito-core-2.23.9.jar auswählen.)

@ngaeng
Copy link
Contributor

ngaeng commented Dec 6, 2018

Vielen Dank! Ich würde sagen wir machen das auf jeden Fall so.

@Chrysotomus
Copy link
Contributor

Jo, danke dir. Ich stimme auch zu. Ich werde damit auch noch unsere Calendar (zukünftig Day)-Klasse testen.

@ngaeng
Copy link
Contributor

ngaeng commented Dec 9, 2018

Im aktuellen commit sind die tests für den Launch Handler auskommentiert, weil maven sonst beim build leider einen error wirft.

@ngaeng
Copy link
Contributor

ngaeng commented Jan 2, 2019

image

Das sind die Klassen mit noch ungetestetem Code. Der Launch Request Handler wäre nicht so leicht zu covern, wegen der Datenbank. Am meisten Sinn macht wahrscheinlich die Day Klasse weil wir damit ~15% gutmachen könnten.

@Chrysotomus
Copy link
Contributor

Ehrlich gesagt habe ich diese Ferien noch gar nichts für das Projekt oder im Allgemeinen für die Uni gemacht. Ich bin seit Beginn der Ferien krank und immer noch nicht genesen xD
Jetzt müsste ich allerdings genau wissen, wie genau wir uns das mit der Weiterentwicklung vorstellen. Wie soll meine Day Klasse die Accountdaten holen? Soll das über die Datenbank gelöst werden? Eine möglichst schnelle Antwort wäre super, da die Zeit relativ knapp wird, sobald ich erstmal gesund bin.....
@kkaiser12 @ngaeng

PS: Ich versuche danach noch die Tests zu schreiben. Ich kann aber nichts versprechen, weil ich noch recht viel für Netzwerke vorbereiten muss und praktisch noch keine Prüfungsvorbereitung für die anderen Fächer hatte

@ngaeng
Copy link
Contributor

ngaeng commented Jan 2, 2019

Gute Besserung auf jeden Fall!

Wir könnten das auf jeden Fall mit der Datenbank lösen. Man müsste im LaunchRequestHandler in der Methode wo die Fächer in die Datenbank gespeichert werden zwei weitere key-value Paare für Username und Passwort hinzufügen. Diese kann man dann folgendermaßen an anderer Stelle abfragen:

AttributesManager attributesManager = input.getAttributesManager();
Map<String, Object> persistentAttributes = attributesManager.getPersistentAttributes();
Object username = persistentAttributes.get("Username");

Falls das mit den Tests noch geht wärs super, ansonsten fehlen uns halt die paar Punkte, sollte jetzt denk ich mal auch nicht der Ausmacher sein wenns nicht ganz desaströs läuft, hauptsache ist jetzt erstmal, dass du schnell wieder gesund wirst

Edit: Ah ja wenn man in der Klasse noch nen kleineren Teil einfach testen kann wär das auch schon gut, uns fehlen noch 6% zu 50%

@ngaeng
Copy link
Contributor

ngaeng commented Jan 9, 2019

Wir sind jetzt bei 53,8%, also alles easy :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants