Refactor bestaande code zodanig dat elk command een aparte functie gebruikt die iets returnt voordat het terug wordt gestuurd.
Gebruik unittests om te kijken of die functie nog wel het juiste returnt.
In theorie eenvoudig, in de praktijk toch lastiger. Uiteindelijk moet er ook een hoop gebeuren op het gebied van de bot zelf, en de onderliggende discordpy classes. Ook moet duplicate code zo veel mogelijk worden ontweken, dus is het eigenlijk ideaal als we het testen ook echt met een bot doen (Stroopwafel Test) bijvoorbeeld.
Plan van aanpak:
1. Refactor bestaande code zodanig dat elk command een aparte functie gebruikt die iets returnt voordat het terug wordt gestuurd.
2. Gebruik unittests om te kijken of die functie nog wel het juiste returnt.
In theorie eenvoudig, in de praktijk toch lastiger. Uiteindelijk moet er ook een hoop gebeuren op het gebied van de bot zelf, en de onderliggende discordpy classes. Ook moet duplicate code zo veel mogelijk worden ontweken, dus is het eigenlijk ideaal als we het testen ook echt met een bot doen (Stroopwafel Test) bijvoorbeeld.
Deze PR houdt de voortgang bij van de branch.
Fixes #18
Refactor bestaande code zodanig dat elk command een aparte functie gebruikt die iets returnt voordat het terug wordt gestuurd.
Gebruik unittests om te kijken of die functie nog wel het juiste returnt.
Dit is op zichzelf deels gebeurd. Vaak blijft het bij kijken of iets wel een string teruggeeft of kijken of bepaalde input wel/niet geaccepteerd wordt. Als zodanig zijn de tests dus niet heel grondig of dekkend, maar zouden ze wel een redelijke indicatie moeten geven van of bepaalde features nog een beetje werken of niet.
Bovendien is van het echt testen met discord modellen niet heel veel terecht gekomen. Ik ben er niet helemaal achter hoe ik daar effectief mocks voor maak en hoe ik op een zinnige manier echt de discord-integratie kan testen.
Maar op zich is ons doel niet de sterren...
> 1. Refactor bestaande code zodanig dat elk command een aparte functie gebruikt die iets returnt voordat het terug wordt gestuurd.
> 2. Gebruik unittests om te kijken of die functie nog wel het juiste returnt.
Dit is op zichzelf deels gebeurd. Vaak blijft het bij kijken of iets wel een string teruggeeft of kijken of bepaalde input wel/niet geaccepteerd wordt. Als zodanig zijn de tests dus niet heel grondig of dekkend, maar zouden ze wel een redelijke indicatie moeten geven van of bepaalde features nog een beetje werken of niet.
Bovendien is van het echt testen met discord modellen niet heel veel terecht gekomen. Ik ben er niet helemaal achter hoe ik daar effectief mocks voor maak en hoe ik op een zinnige manier echt de discord-integratie kan testen.
Maar op zich is ons doel niet de sterren...
Ik heb één hele simpele test toegevoegd voor Chatbot.py, maar dat is meer zodat die class ook maar wordt meegenomen. Het chat algoritme unittesten wordt lastig.
Verder heb ik Points.py gerefactord zodat het iets beter te unittesten is. Verdient alsnog geen schoonheidsprijs, maar ik denk dat het eventuele toekomstige aanpassingen wel iets makkelijker maakt.
Commits van collega Mark zien er goed uit.
Ik heb één hele simpele test toegevoegd voor Chatbot.py, maar dat is meer zodat die class ook maar wordt meegenomen. Het chat algoritme unittesten wordt lastig.
Verder heb ik Points.py gerefactord zodat het iets beter te unittesten is. Verdient alsnog geen schoonheidsprijs, maar ik denk dat het eventuele toekomstige aanpassingen wel iets makkelijker maakt.
jp
merged commit 9effd126dd into master2022-12-11 16:27:22 +01:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Plan van aanpak:
In theorie eenvoudig, in de praktijk toch lastiger. Uiteindelijk moet er ook een hoop gebeuren op het gebied van de bot zelf, en de onderliggende discordpy classes. Ook moet duplicate code zo veel mogelijk worden ontweken, dus is het eigenlijk ideaal als we het testen ook echt met een bot doen (Stroopwafel Test) bijvoorbeeld.
Deze PR houdt de voortgang bij van de branch.
Fixes #18
Dit is op zichzelf deels gebeurd. Vaak blijft het bij kijken of iets wel een string teruggeeft of kijken of bepaalde input wel/niet geaccepteerd wordt. Als zodanig zijn de tests dus niet heel grondig of dekkend, maar zouden ze wel een redelijke indicatie moeten geven van of bepaalde features nog een beetje werken of niet.
Bovendien is van het echt testen met discord modellen niet heel veel terecht gekomen. Ik ben er niet helemaal achter hoe ik daar effectief mocks voor maak en hoe ik op een zinnige manier echt de discord-integratie kan testen.
Maar op zich is ons doel niet de sterren...
Commits van collega Mark zien er goed uit.
Ik heb één hele simpele test toegevoegd voor Chatbot.py, maar dat is meer zodat die class ook maar wordt meegenomen. Het chat algoritme unittesten wordt lastig.
Verder heb ik Points.py gerefactord zodat het iets beter te unittesten is. Verdient alsnog geen schoonheidsprijs, maar ik denk dat het eventuele toekomstige aanpassingen wel iets makkelijker maakt.