Ik probeer mijn testskills te verbeteren. In mijn studie merk ik dat ik heel veel punten laat liggen door niet goed te testen aan het eind van de opdracht. Tegenwoordig doe ik wel meer aan integratie testen (zonder code nog
), maar unit testen komt er nog niet echt in. Ik heb me al wel ingelezen en met unit tests gespeeld. Maar wat het staat me nog een beetje tegen. Er moet namelijk het volgende gebeuren:
Wordt in de praktijk ook echt zo ver gegaan en iedere class in isolatie ge-unit test? Of wordt er een balans gezocht tussen helemaal niets testen en iedere class in isolatie testen? De basis classes zijn bijvoorbeeld heel simpel zonder stubs/mocks te testen omdat ze nergens vanaf hangen. En vervolgens kun je op een hiërarchische manier naar boven toe werken en eigenlijk steeds grotere integratie testen doen. Waarbij de correctheid van de testen van high-level objecten afhangen van de correctheid van de low-level objecten. Dit zou ik zelf nog wel een acceptabele vorm van testen vinden, omdat het geen impact heeft op je design. Maar echt unit-testen is het niet. De meeste designs die ik maak heeft namelijk niet of nauwelijks circulaire dependencies en er zijn altijd wel main classes en basis classes aan te wijzen. Als je dan van onder naar boven toe werkt moet je toch ook alles hebben getest?

- Interfaces specificeren zodat je mocks/stubs kan injecteren en de class in isolatie kan testen.
- Methodes of constructors toevoegen om je mocks/stubs te injecteren.
- Het schrijven van mocks/stubs (valt nog op te lossen met test frameworks)
- Verschillende testen voor iedere specificatie van een methode.
Wordt in de praktijk ook echt zo ver gegaan en iedere class in isolatie ge-unit test? Of wordt er een balans gezocht tussen helemaal niets testen en iedere class in isolatie testen? De basis classes zijn bijvoorbeeld heel simpel zonder stubs/mocks te testen omdat ze nergens vanaf hangen. En vervolgens kun je op een hiërarchische manier naar boven toe werken en eigenlijk steeds grotere integratie testen doen. Waarbij de correctheid van de testen van high-level objecten afhangen van de correctheid van de low-level objecten. Dit zou ik zelf nog wel een acceptabele vorm van testen vinden, omdat het geen impact heeft op je design. Maar echt unit-testen is het niet. De meeste designs die ik maak heeft namelijk niet of nauwelijks circulaire dependencies en er zijn altijd wel main classes en basis classes aan te wijzen. Als je dan van onder naar boven toe werkt moet je toch ook alles hebben getest?