====== LU08a - Resultate auswerten mit Bruno ====== Mittels **Tests** kann Bruno die Antwort einer API automatisiert auswerten. In jeder Request-Datei (`.bru`) kannst du im Bereich **Tests** kleine JavaScript-Funktionen schreiben, um das Resultat eines Requests auszuwerten. Bruno zeigt dir danach direkt an, ob der Request das erwartete Resultat geliefert hat oder nicht. ===== http-Statuscode prüfen ===== Im einfachsten Fall will ich nur den http-Statuscode überprüfen: test("Status test", () => { expect(res.status).to.eql(200); }); Diese Zeilen reichen schon, damit Bruno den http-Statuscode überprüft. Ein paar Erklärungen: * `"Status test"` ist der Name meines Tests. Dieser wird im Testprotokoll angezeigt und sollte möglichst aussagekräftig sein. * Ich prüfe hier, ob die API mit Status **200** antwortet. Je nach Testfall würde ich unterschiedliche Statuscodes erwarten. ====== LU08a - Resultate auswerten ====== Mittels **Tests** kann Bruno die Antwort einer API automatisiert auswerten. In jeder Request-Datei (''.bru'') kannst du im Bereich **Tests** kleine JavaScript-Funktionen schreiben, um das Resultat eines Requests auszuwerten. Bruno zeigt dir danach direkt an, ob der Request das erwartete Resultat geliefert hat oder nicht. ===== http-Statuscode prüfen ===== Im einfachsten Fall will ich nur den http-Statuscode überprüfen: ''test("Status test", () => {   expect(res.status).to.eql(200); });'' Diese Zeilen reichen schon, damit Bruno den http-Statuscode überprüft. Ein paar Erklärungen: * ''"Status test"'' ist der Name meines Tests. Dieser wird im Testprotokoll angezeigt und sollte möglichst aussagekräftig sein. * Ich prüfe hier, ob die API mit Status **200** antwortet. Je nach Testfall würde ich unterschiedliche Statuscodes erwarten. ====== LU08a - Resultate auswerten ====== Mittels **Tests** kann Bruno die Antwort einer API automatisiert auswerten. In jeder Request-Datei (''.bru'') kannst du im Bereich **Tests** kleine JavaScript-Funktionen schreiben, um das Resultat eines Requests auszuwerten. Bruno zeigt dir danach direkt an, ob der Request das erwartete Resultat geliefert hat oder nicht. ===== http-Statuscode prüfen ===== Im einfachsten Fall will ich nur den http-Statuscode überprüfen: test("Status test", () => { expect(res.status).to.eql(200); }); Diese Zeilen reichen schon, damit Bruno den http-Statuscode überprüft. Ein paar Erklärungen: * ''"Status test"'' ist der Name meines Tests. Dieser wird im Testprotokoll angezeigt und sollte möglichst aussagekräftig sein. * Ich prüfe hier, ob die API mit Status **200** antwortet. Je nach Testfall würde ich unterschiedliche Statuscodes erwarten. ===== Daten in der Response prüfen ===== Wenn ein Request Daten von der API anfordert, wollen wir den Inhalt der Response überprüfen. Schliesslich wollen wir nicht irgendwelche Daten lesen, sondern einen bestimmten Datensatz. test("Data test", () => { expect(res.status).to.eql(200); const responseJson = res.json(); expect(responseJson.givenname).to.eql("Eva"); expect(responseJson.age).to.eql(28); }); In diesem Beispiel prüfen wir drei Elemente der Response-Daten: * Die Response muss erfolgreich sein (Statuscode 200). * Der Vorname muss ''"Eva"'' sein. * Das Alter muss ''28'' sein. Trifft irgendeine dieser Bedingungen nicht zu, zeigt Bruno den Request als fehlgeschlagen an. ===== Weitere Beispiele ===== Im [[https://docs.usebruno.com/testing/tests/introduction|Bruno Docs: Tests]] findest du noch weitere Beispiele und Möglichkeiten für Tests. ---- {{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