Seit Modul 2.7 hat jeder Pull Request seine Tests, und jedes Issue des Abschlussprojekts nennt zu jedem Kriterium seinen Nachweis. Trotzdem ist die Testsuite nach acht Meilensteinen nicht vollständig. Manche Tests heißen anders als im Issue, manche wurden „später“ geschrieben und dann nie, und drei Arten von Tests fehlen bewusst noch: der Rechte-Test über alles, was seit Modul 2.6 dazukam, der ganze Weg der Buchung im Browser und der Import gegen einen TED, der wirklich über HTTP antwortet.
Der neunte Meilenstein schließt diese Lücken. Er beginnt mit einer Messung, nicht mit dem Schreiben: Erst wenn Sie wissen, was fehlt, wissen Sie, was zu tun ist.
| Pull Request | Branch | Bringt | Wo in dieser Lektion |
|---|---|---|---|
| 1 | test/m9-evidence |
ein Skript, das jeden Nachweis aus den Issues gegen die Tests prüft; die fehlenden Tests | „Was fehlt?“ und Übung 1 |
| 2 | test/m9-rights |
der Rechte-Test kennt alle Endpunkte, die offenen stehen auf einer festen Liste | „Pull Request 2“ |
| 3 | test/m9-import-stub |
der Import mit dem echten Client gegen einen lokalen TED | „Pull Request 3“ |
| 4 | test/m9-booking-end-to-end |
der Weg vom Tag bis zur Bestätigung im Browser | Übung 2 |
Wo die Kladde steht
Nach Modul 2.7, Modul 2.6 und den Meilensteinen 1 bis 8 gilt in den Lösungen:
tests/Kladde.Core.Tests,tests/Kladde.Data.Tests,tests/Kladde.Web.Testsmit der TestfabrikKladdeFactoryaus Lektion 2.7.3 (seit Meilenstein 1 mitClientAs) undtests/Kladde.EndToEndmit Playwright (Lektion 2.7.7). Tests gegen SQL Server laufen, wennKLADDE_TEST_SQLSERVERgesetzt ist, sonst werden sie sichtbar übersprungen.- Aus Lektion 2.6.4 gibt es die Matrix
RightsMatrixTestsund den Rechte-TestRightsAuditTests, der jeden Endpunkt ohne Rechteentscheidung meldet. - Der
TedClienthat intests/Kladde.Ted.TestsTests mit einem nachgemachtenHttpMessageHandler(Lektion 2.8.1, erweitert in Meilenstein 5). - Der End-to-End-Test aus Lektion 2.7.7 bucht einen Termin und endet seit Meilenstein 3 auf der Seite „Fast geschafft“.
- Die Pipeline aus Lektion 2.7.8 führt alle Tests in jedem Pull Request aus, mit
dotnet test -- --minimum-expected-tests 1.
Heißen Ihre Dateien, Klassen oder Ordner anders, behalten Sie Ihre Namen und übertragen Sie die Schritte. Heißt Ihre Testfabrik anders als
KladdeFactory, bleiben Sie bei Ihrem Namen.