Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Anwendungen testen

Eine Teststrategie für Anwendungen auf Exponential - Unit-Tests ohne Datenbank, Tests gegen eine Wegwerf-Datenbank, Prüfungen von Templates und Links, Browserprüfungen mit einem Testbenutzer, Barrierefreiheit und was…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/creators/app-creators/testing-applications.md

On this page

This page is a translation. Read the English original

Anwendungen testen

Diese Seite richtet sich an Anwendungsentwickler, die Code ohne Angst ändern möchten. Die eigenen Tests und Qualitätsschranken des Kernels sind das Vorbild: Die meisten Tests laufen ohne Datenbank, einige gegen eine Wegwerf-Datenbank, und Prüfungen von Templates, Links und im Browser vervollständigen das Bild (Standard für Tests und CI).

Inhalt

  1. Die Ebenen
  2. Unit-Tests ohne Datenbank
  3. Tests mit Datenbank
  4. Prüfungen von Templates, Einstellungen und Links
  5. Browserprüfungen
  6. Vor jedem Push

Die Ebenen

EbeneWerkzeugFindet
Syntaxphp -l, eztemplatecheck.phpParse-Fehler in PHP und Templates
UnitPHPUnit, ohne DatenbankLogik von Diensten, Validatoren, Handlern
IntegrationPHPUnit mit tests/runtests.php --dsn ...SQL, persistente Objekte, Inhaltsoperationen
Gerenderte SeitenHTTP-Anfragen, Browser-AutomatisierungTemplates, Rechte, Weiterleitungen
Barrierefreiheit und CSPein automatischer Barrierefreiheitsprüfer, das CSP-BerichtslogBarrieren, Inline-Code

Unit-Tests ohne Datenbank

Schreiben Sie die Logik als einfache Klassen (Dienste), die Ansicht, Befehl und Cronjob aufrufen; testen Sie diese mit PHPUnit (PHPUnit-Tests ohne Datenbank). Der Kernel führt seine gesamte Standard-Suite ohne Datenbank aus: vendor/bin/phpunit schließt die Gruppe database aus.

Tests mit Datenbank

tests/runtests.php --dsn <dsn> --db-per-test führt die Suiten gegen eine Wegwerf-Datenbank aus, wie es der Datenbank-Job der CI tut. Kennzeichnen Sie solche Tests mit @group database. Richten Sie Tests niemals auf eine Datenbank, die echte Inhalte enthält.

php bin/php/eztemplatecheck.php -s<siteaccess> extension/expdemo/design/   # every template of your extension
./console exp:ini where expdemo.ini/ListSettings/DefaultLimit <siteaccess>  # settings resolve as expected
./console exp:help check                                                    # links in your extension's docs, when indexed

Browserprüfungen

  • Verwenden Sie einen eigenen Testbenutzer, der für den Lauf angelegt und danach entfernt wird; niemals ein gemeinsam genutztes Administratorkonto, dessen Einstellungen jemandem gehören.
  • Prüfen Sie jeden Seitentyp Ihrer Erweiterung abgemeldet, als eingeschränkter Benutzer und als Redakteur.
  • Prüfen Sie die Browserkonsole auf Fehler und das CSP-Berichtslog (var/log/csp.log) auf blockierten Code (Content Security Policy für Anwendungen).
  • Lassen Sie auf jeder Seite einen Barrierefreiheitsprüfer laufen (Barrierefreiheit testen).

Vor jedem Push

  • To do: php -l für geänderte PHP-Dateien; Template-Prüfung für geänderte Templates.
  • To do: Die Unit-Tests des geänderten Codes bestehen.
  • To do: Keine Inline-Skripte oder -Styles hinzugefügt.
  • To do: Autoloads neu generiert, falls sich Klassen geändert haben; Caches geleert; die Funktion von Hand ausprobiert.
  • To do: CI für das Repository eingerichtet (CI für Erweiterungen).

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x