DotnetMinorNotes

Migrations

Genereert update scripts die op volgorde uitgevoerd moeten worden

Benodigdheden

Command line

CSharp

De database kan bij het opstarten van de applicatie naar de juiste migratie gezet worden door in startup.cs context.Database.Migrate(); in plaats van EnsureCreated(); te gebruiken

Migration files (in Migrations mapje)

Concurrency

Pessimistic

Optimistic

In Entity Framework

Een van de volgende:

UI testing

Hoeveel?

Dure testen, dus niet teveel van schrijven

Hoe?

Selenium

Unit testen die selenium code gebruiken om een Chrome browser aan te sturen

Voorbeeld test

IWebDriver browser = new ChromeDriver(/*pad naar chromedriver.exe*/);
browser.Url = "http://localhost:xxxxx/yyyyy";
browser.Close();
var titel = browser.FindElement(By.CssSelector("h1")).Text;
Assert.AreEqual("Magazijnbeheer", titel);

Let op: Als in de ‘new ChromeDriver(..)’ geen argument opgegeven wordt, ontstaat er een error dat chromedriver.exe ontbreekt. Dan chromedriver.exe downloaden van getoonde link

Pages

Pages kunnen gemaakt worden om het navigeren naar een pagina te abstraheren.

internal class MagazijnPage : IDisposable
{
    private IWebDriver _browser;

    public MagazijnPage() 
    {
        _browser = new ChromeDriver(..);
        _browser.Url = ...;
    }

    public string GetTitel()
    {
        return browser.Findelement(...);
    }

    // Etc, etc...
}

Note

Zie Dag29.EFenUITestDemo (van Marco) voor meer voorbeelden

Protractor

Komt in volgend blok

Wat?

End-to-end testen. Deze kijken of de hele keten van UI tot database werkt

Tests

Test soorten

Test piramide

Test piramide

Beschrijft de grootte van de test in verhouding met de hoeveelheid

Overig