Eerste voorbeeld: Sum
Last updated
Last updated
Visual Studio 2022 voorziet tools om unit tests te maken en deze te automatiseren. We bouwen in enkele stappen een kleine console applicatie in Visual Studio 2022 en maken hier een unit test voor.
1. Maak in Visual Studio een nieuwe console applicatie aan met de naam TestingCalculator
2. Voeg aan deze applicatie een nieuwe klasse toe met de naam Calculator
3. We voegen in deze klasse onderstaande methode toe
4. Deze methode zullen we gebruiken om 2 getallen op te tellen. Zoals je kan zien is deze methode nog niet uitgewerkt en geeft deze steeds 0 terug. Voorlopig laten we dit zo. We zullen eerst een test maken voor deze methode. Deze test zal falen. Daarna implementeren we de juiste logica in deze methode en laten we de test opnieuw lopen. Deze zal nu wel correct lopen. Deze manier van werken waarbij we eerst de test maken en dan pas de logica implementeren noemen we Test Driven Development of TDD.
5. Klik nu met je rechter muisknop op je solution en klik op Add > New Project…
6. Selecteer MSTest Test Project (voor C#), klik op Next, kies als project naam UnitTesting
en klik op Next, selecteer .NET 6.0 (of 7.0) en klik op Create
We krijgen nu onderstaande klasse:
8. Het UnitTesting
project refereert naar klassen uit het project TestingCalculator
. We leggen dat vast in de dependencies. Klik rechts op Dependencies, kies Add Project Reference en selecteer TestingCalculator
.
Wijzig de code zoals in het onderstaande voorbeeld:
10. Rechter klik nu op SumTest
en klik op "Run Tests" (Ctrl+R, T)
11. Visual Studio toont nu de Test Explorer. We zien hier dat er één test is uitgevoerd en dat deze test faalde; zoals weergegeven in onderstaande afbeelding. Je kan de test explorer ook steeds openen via View > Test Explorer.
12. Deze test faalde omdat in deze test Assert.Fail()
staat.
13. We implementeren deze test door onderstaande code toe te voegen.
Merk op dat er een using
is bijgevoegd en vergeet ook niet om de klasse Calculator public
te maken.
14. We laten de test opnieuw lopen. We krijgen nu het onderstaande resultaat.
15. Zoals je kan zien is het verwacht resultaat 5 (2 + 3) maar is het resultaat van de Sum
methode 0. We moeten deze methode nog implementeren in onze calculator klasse. We werken deze als volgt uit.
16. Als we de test nu opnieuw uitvoeren krijgen we het onderstaande resultaat
We kunnen deze test in de toekomst steeds blijven uitvoeren. Als onze applicatie in de toekomst complexer zal worden, zijn we toch zeker dat dit stukje code blijft werken. Als er iemand het + teken per vergissing zou vervangen door een - teken zal deze test falen en weten we dat er een probleem is met deze methode. Uiteraard is het belangrijk om je test parameters zorgvuldig te kiezen en eventueel meerdere test te schrijven voor een methode.
We kunnen van deze eerste test gebruik maken om te tonen dat een unittest een vast patroon volgt.
Dit helpt om structuur te houden in de unittests.