Automatisierte Tests werden über Codeception durchgeführt. Dazu gibt es das Verzeichnis tests.
cd tests/ codecept.phar run
wget http://codeception.com/codecept.phar cp codecept.phar /usr/bin/
Zur Erstellung eines neuen Testverzeichnisses kann folgender Befehl verwendet werden
mkdir tests cd tests codecept.phar bootstrap
codecept.phar generate:phpunit unit Example
weiter Informationen unter http://codeception.com/
Die Datei /tests/codeception/api.suite.dist.yml muss kopiert werden auf /tests/codeception/api.suite.yml. In dieser Datei muss die URL angepasst werden damit diese auf die API zeigt.
url: 'http://user:password@localhost/index.ci.php/api/' <code> Auch die Verbindungsdaten zur Datenbank müssen hier angepasst werden: <code> dsn: 'pgsql:host=localhost;port=5432;dbname=DBNAME' user: 'fhcomplete' password: 'PASSWORD' populate: false
Damit die API Tests funktionieren muss in der Datenbank ein User admin vorhanden sein. Dieser muss Berechtigungen für den Zugriff auf alle Tabellen haben.
BEGIN; INSERT INTO public.tbl_person (nachname) VALUES('Admin'); INSERT INTO public.tbl_benutzer (uid,person_id) VALUES('admin',currval('public.tbl_person_person_id_seq')); INSERT INTO public.tbl_mitarbeiter(mitarbeiter_uid,kurzbz) VALUES('admin','admin'); INSERT INTO system.tbl_benutzerrolle(berechtigung_kurzbz, uid, art) SELECT berechtigung_kurzbz, 'admin','suid' FROM system.tbl_berechtigung COMMIT;
Starten des API Tests
cd /var/www/tests/codeception ./codecept.phar run api