slogan3

Verbeter de leesbaarheid en onderhoudbaarheid van mijn unit tests

description

Met deze prompt krijg je gerichte tips om je unit tests duidelijker en eenvoudiger te onderhouden te maken, wat de samenwerking binnen teams verbetert en toekomstige fouten voorkomt. Dit gaat verder dan alleen functionele correctheid en focust op duurzame testkwaliteit.

prompt

Evalueer mijn unit tests op leesbaarheid en onderhoudbaarheid. Unit test code: <plaats hier je unit test code>. Geef sug ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
De huidige unit test is functioneel correct, maar kan qua leesbaarheid en onderhoudbaarheid worden verbeterd. Hier zijn enkele suggesties: 1. Betere naamgeving: - Gebruik een naam die duidelijk aangeeft wat de test controleert, bijvoorbeeld: `Add_GeldigeGetallen_ReturnsSom`. - Overweeg het gebruik van de Given-When-Then structuur in de naam, zoals `GivenTwoNumbers_WhenAdded_ThenReturnsCorrectSum`. 2. Structuur: - Voeg setup code toe indien nodig, bijvoorbeeld initialisaties vooraf. - Maak gebruik van duidelijke scheidingen tussen opzet, uitvoering en controle (Arrange, Act, Assert). 3. Documentatie: - Voeg korte commentaren toe om het doel van de test te verduidelijken. - Gebruik indien mogelijk attributen zoals `[TestMethod]` of `[Test]` dat afhankelijk is van de testframeworks. Voorbeeld van een verbeterde versie: ```csharp /// <summary> /// Test of de Add methode van de Calculator correct de som berekent van twee positieve gehele getallen. /// </summary> [Test] public void Add_GeldigeGetallen_ReturnsCorrectSum() { // Arrange int eersteGetal = 2; int tweedeGetal = 3; int verwachtResultaat = 5; // Act int werkelijkeResultaat = Calculator.Add(eersteGetal, tweedeGetal); // Assert Assert.AreEqual(verwachtResultaat, werkelijkeResultaat); } ``` Samenvatting: - Gebruik beschrijvende namen die de intentie van de test duidelijk maken. - Structuur de test in Arrange, Act, Assert secties. - Voeg korte documentatie toe om het doel te verduidelijken. - Overweeg meer tests voor verschillende scenario's (bijvoorbeeld negatieve getallen, nul, grote getallen). Zo wordt je test niet alleen duidelijker voor jezelf, maar ook voor anderen die de code onderhouden.
provider: deepseek
model: deepseek-chat
Hier is een evaluatie en suggesties voor je unit test: ## Evaluatie Je huidige test is functioneel correct maar kan aanzienlijk worden verbeterd op het gebied van leesbaarheid en onderhoudbaarheid. ## Suggesties voor verbetering ### 1. Betere Naamgeving ```csharp [Test] public void Add_TweePositieveGetallen_RetourneertCorrecteSom() { // Arrange int getal1 = 2; int getal2 = 3; int verwachteUitkomst = 5; // Act int werkelijkeUitkomst = Calculator.Add(getal1, getal2); // Assert Assert.AreEqual(verwachteUitkomst, werkelijkeUitkomst); } ``` ### 2. AAA-structuur (Arrange-Act-Assert) Gebruik altijd de AAA-patroon voor betere leesbaarheid: - **Arrange**: Setup testgegevens - **Act**: Voer de te testen operatie uit - **Assert**: Controleer het resultaat ### 3. Documentatie en Comments ```csharp /// <summary> /// Test of de Add-methode correct de som van twee positieve getallen berekent /// </summary> [Test] public void Add_TweePositieveGetallen_RetourneertCorrecteSom() { // Arrange int eersteGetal = 2; int tweedeGetal = 3; int verwachteSom = 5; // Act int resultaat = Calculator.Add(eersteGetal, tweedeGetal); // Assert Assert.AreEqual(verwachteSom, resultaat, "De som van 2 en 3 moet 5 zijn"); } ``` ### 4. Aanvullende Testgevallen Overweeg deze aanvullende tests: ```csharp [Test] public void Add_NegatiefGetalEnPositiefGetal_RetourneertCorrecteSom() { // Arrange int getal1 = -5; int getal2 = 10; int verwachteUitkomst = 5; // Act & Assert Assert.AreEqual(verwachteUitkomst, Calculator.Add(getal1, getal2)); } [Test] public void Add_NulWaarden_RetourneertNul() { // Arrange int getal1 = 0; int getal2 = 0; // Act & Assert Assert.AreEqual(0, Calculator.Add(getal1, getal2)); } ``` ### 5. Gebruik Descriptive Naming Naamconventie: `[Method]_[Scenario]_[ExpectedResult]` Deze verbeteringen maken je tests: - Zelfdocumenterend - Makkelijker te onderhouden - Duidelijker in intentie - Beter leesbaar voor andere ontwikkelaars