Repository integrációs tesztelése xUnittal SQLite adatbázissal memóriában és fájlban (NA)
Az SQLite képes memóriában és fájlban is az adatbáziskezelésre. Mindkettőnek fontos szerepe lehet a
fejlesztési munkafolyamatainkban. Fontos azonban ismerni a különbségeket, a részleteket. Itt most
- túlzás nélkül - szinte minden kiderül.
Ez a tananyag a **C# fejlesztési projekt tokkal-vonóval** sorozat része, amelyet azért hoztunk létre, hogy egy igazi fejlesztési projekt minden lépésébe betekintést nyerhess. Ha érdekel, hogyan lesz egy ötletből valós, működő alkalmazás, miközben megismerkedsz a modern eszközökkel és technológiákkal, akkor itt a helyed! A célunk, hogy lépésről lépésre segítsünk végigvinni egy teljes fejlesztési folyamatot az alapoktól kezdve, egészen a professzionális szintű megoldásokig.
A sorozat tananyagai:
1. C# alapú fejlesztési projekt - bevezetés
2. Entity Framework Core bevezetés SQLite adatbázis használatával
3. xUnit bevezetés - az első működő xUnit tesztig - CRUD Create tesztje
4. Repository fejlesztése TDD-vel és xUnit-tal
5. Repository integrációs tesztelése xUnittal SQLite adatbázissal memóriában és fájlban
6. Docker használata Windows környezetben ASP.NET Core fejlesztéshez
- A tanfolyamhoz tartozó forráskódok
- 1.1 Kérdések és bevezetés
- 1.2 Vázlat
- 1.3 Első prototípus
- 1.4 IClassFixture használata
- 1.5 Továbbfejlesztés Dependency Injection segítségével
- 1.6 Dependency Injection használata a CourseRepository kódjában is - I.
- 1.7 Dependency Injection használata a CourseRepository kódjában is - II.
- 1.8 Dependency Injection használata a CourseRepository kódjában is - III.
- 1.9 Az L2lDbContext létrehozása factory függvénnyel - L2lDbContextFactory method
- 1.10 L2lDbContextFactory method segítségével a Database Fixture refaktoringja
- 1.11 L2lDbContextFactory method segítségével a tesztjeink refaktoringja
- 1.12 Minden tesztünk zöld
- 1.13 A fejezet vége - git commit
- 2.1 Problémafelvetés - hibába futunk
- 2.2 Nyomozás
- 2.3 Megoldás SqliteConnection segítségével - I.
- 2.4 Megoldás SqliteConnection segítségével - II.
- 2.5 Megoldás SqliteConnection segítségével - III.
- 2.6 Megoldás kiterjesztése a file db használatára is
- 2.7 Minden tesztünk - memória és állomány db is - zöld
- 3.1 Memory vs file db - I.
- 3.2 Memory vs file db - II.
- 3.3 Továbbfejlesztés - factory.IsInMemoryDb - vázlat
- 3.4 Továbbfejlesztés - factory.IsInMemoryDb - implementáció
- 3.5 Továbbfejlesztés - factory.IsInMemoryDb - code review
- 3.7 Minden tesztünk zöld
- 4.1 Ellenőrzés - dotnet ef - hibába futunk
- 4.2 Nyomozás
- 4.3 Megoldás
- 4.4 Ellenőrzés - dotnet cli ok
- 4.5 Ellenőrzés - minden teszt zöld és dotnet cli rendben
- 4.6 A fejezet vége - git commit
Az oktatóról
Full-stack C# fejlesztő vagyok, több, mint 30 éves tervezési, fejlesztési, adatbázis, devop és üzemeltetési tapasztalattal, erős matematikai alapokkal. Elsősorban Windows környezetben dolgoztam, de az utóbbi néhány évben előfordult, hogy több platform (Linux/Raspberry PI/Android/iOS) szolgáltatásait integrálom. Mivel minden nap kódolok, minden érdekel, ami a fejlesztéshez kapcsolódik, akár egyszerűbbé teszi életünket, akár valami "jövős" dolog.