4100 Unit test

Nu är det dags att göra automatiska test för kod, så kallade Unit test.

Uppgift

Öppna din lösningar av övning 2.3 i läroboken. Lägg till unit test för klasserna Bank, Sparkonto, och Lånekonto.

Läs nedanstående guide för att se hur du ska göra för att sätt upp testen. Det är lämpligt att börja med Sparkonto. Gör klart testen för denna klass. Lägg därefter till övriga klasser. Mer om det nedan. Unit test basics, Microsoft

Skriv därefter flera testmetoder för varje klass. Tanken är att testen ska garantera att klassen fungerar som den ska i alla tänkbara fall. Försök att hitta på test som din kod inte kommer klara. I arbetslivet kan det vara olika personer som skriver testen och som implementerar de riktiga klasserna.

Kontrollera bland annat:

  • Att rätt belopp finns på Sparkontot och LåneKontot efter insättning.
  • Att rätt belopp finns på kontona efter uttag.
  • Att det inte går att ta ut för mycket pengar.
  • Testa att man inte kan ta ut -100 kr.
  • Att räntan beräknas på rätt sätt för kontona.
  • Att överföring mellan konton sker på korrekt vis. T.ex. -200 kr på ett konto och +200 kr på det andra kontot.
  • Att pengar inte överförs om täckning saknas på kontot som pengarna tas från.

Skriv en testmetod i taget. Kör därefter alla test igen. Lös sedan eventuella problem och kör samtliga test igen.

Skriv dokumentation för alla metoder under tiden som du skriver test för metoderna.

Exempel på ett test för klassen Sparkonto följer.

[TestClass()]
public class SparkontoTests
{
  [TestMethod()]
  public void GilltigInsättning()
  {
    // arrange
    Sparkonto konto = new Sparkonto("11", 1);
    double belopp = 1000;
    double förväntadBehållning = 2000;

    // act
    konto.Insättning(belopp);
    konto.Insättning(belopp);

    // assert
    Assert.AreEqual(förväntadBehållning, konto.Behållning);
  }

  [TestMethod()]
  public void NästaTest()
  {
    //arrange
    // ...

    // act
    //...

    //assert
    //...
  }
}

Mer information

Getting started with unit testing, Microsoft

Walkthrough: Creating and Running Unit Tests for Managed Code, Microsoft