====== LU08.A01 - Resultate auswerten mit Bruno ======
Ergänze die Requests zum Testen der Bookshelf-Applikation in **Bruno** mit Tests.
Um die Ausführung und Auswertung der Requests zu automatisieren, ergänzen wir diese durch **Tests**.
Jeder Request soll **1–2 Tests** erhalten:
* Prüfen, ob die Response den erwarteten **HTTP-Statuscode** enthält.
* Wo sinnvoll: Prüfen, ob die **Daten in der Response** korrekt sind.
Der Request zum **Lesen aller Bücher** erwartet als Antwort ein **Array mit 3 Büchern**.
Sieh in den Bruno-Docs nach, wie man JSON-Responses prüft (Status, Typ, Länge, Felder).
===== Hinweise =====
Beispiele für Tests (in der Request-Datei unter **Tests**):
**Statuscode prüfen**
test("Status ist 200", () => {
expect(res.status).to.equal(200);
});
**JSON-Body prüfen (Array mit 2 Einträgen)**
test("Liste hat 2 Personen", () => {
const body = res.json();
expect(Array.isArray(body)).to.equal(true);
expect(body.length).to.equal(2);
});
**Einzelne Response prüfen (Felder & Werte-Beispiele)**
test("Mensch hat Pflichtfelder", () => {
const b = res.json();
expect(b).to.have.property("name");
expect(b).to.have.property("age");
});
Weitere Beispiele: [[https://docs.usebruno.com/testing/tests/introduction|Bruno Docs: Tests]]
Mehr Infos zum Syntax: [[https://www.chaijs.com/api/bdd/|chaijs BDD Style]]
===== Abgabe =====
Exportiere dein Bruno-Projekt (Ordner mit allen ``.bru``-Dateien und Environments) als **ZIP**
und lade die **ZIP-Datei** hier in Moodle hoch.
----
{{tag>M450-LU08}}
[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Kevin Maurizi