Um sicherzustellen, dass eine RESTful API immer das geplante Verhalten aufweist, benutzen Webentwickler Codeception, um die API zu testen und sicherzugehen, dass sie immer korrekt bleibt. In diesem Tutorial zeigen wir dir die Grundlagen des API Testings mit Codeception.
Wenn du noch nicht weißt, was Codeception ist oder wie du es installierst, guck dir vorher meinen ersten Beitrag Codeception mit Yii2 an.
API Test Suite erstellen
codecept generate:suite api
Beispiel auf Windows unter XAMPP:
Als nächstes müssen wir die API Suite noch bearbeiten und weiter Module an die API Suite hängen.
class_name: ApiTester modules: enabled: - Filesystem - Yii2 - REST config: REST: depends: PhpBrowser url: http://codeception.local
Nachdem wir die API Suite fertig konfiguriert haben, erstellen wir unseren ersten Test.
Unseren ersten Test erstellen wir mithilfe dieses Kommandos: „codecept generate:cept api user/getUserCept“ – hier wieder das Beispiel unter Windows in einer XAMPP-Umgebung.
<?php $I = new ApiTester($scenario); $I->wantTo('Get all Users'); $I->sendGet('/users'); $I->canSeeResponseCodeIs(\Codeception\Util\HttpCode::OK); $I->seeResponseIsJson(); $I->seeResponseContainsJson(['username' => 'test']);
Hierbei überprüfen wir, ob unsere Route „/users“ per GET Request ($I->sendGet(‚/users‘);) erreichbar ist.
Um den HTTP-Status-Code darauf hin zu überprüfen, ob er den Status-Code 200 hat, benutzen wir die Funktion $I->canSeeResponseCodeIs(200). Nach der HTTP-Status-Überprüfung checken wir noch, ob die Antwort eine valide JSON-Struktur enthält. Dieses testen wir über die Funktion $I->seeResponseIsJson().
Nun führen wir unseren ersten API-Test einmal aus. Das machen wir, indem wir ins Terminal gehen und dann den Befehl „codecept run“ ausführen. Um nur den API-Test auszuführen, brauchen wir den Befehl „codecept run api“.
In diesem Youtube Video seht ihr wie ich die jeweiligen Test ausführe und auch noch ein Beispiel zeige was passiert wenn der Test fehlschlägt.
Hilfe bei Gastbeiträgen
Wir fördern Software-Qualität mit redaktioneller Unterstützung bei Gastbeiträgen. Dadurch geben wir gerade bei ersten Blog-Posts die nötige Sicherheit. Bei uns können auch Unternehmen Gastbeiträge veröffentlichen. Hier geht es zu unseren Artikel Gastbeiträge: Eine Chance für Webdeveloper und Unternehmen