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.Tests mit der Testfabrik KladdeFactory aus Lektion 2.7.3 (seit Meilenstein 1 mit ClientAs) und tests/Kladde.EndToEnd mit Playwright (Lektion 2.7.7). Tests gegen SQL Server laufen, wenn KLADDE_TEST_SQLSERVER gesetzt ist, sonst werden sie sichtbar übersprungen.
  • Aus Lektion 2.6.4 gibt es die Matrix RightsMatrixTests und den Rechte-Test RightsAuditTests, der jeden Endpunkt ohne Rechteentscheidung meldet.
  • Der TedClient hat in tests/Kladde.Ted.Tests Tests mit einem nachgemachten HttpMessageHandler (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.