Was ist Orchestra Testbench?
Orchestra Testbench ist ein Laravel-Test-Helper für die Paketentwicklung. Wenn Sie vonOrchestra\Testbench\TestCase erben, können Sie ein Paket allein testen, so als säße es in einer Laravel-Anwendung.
Auch die offizielle Laravel-Dokumentation zur Paketentwicklung empfiehlt Testbench für Pakettests.
Einrichtung
1
Testbench installieren
2
Basis-TestCase anlegen
3
Bei Bedarf Konfiguration oder Aliase ergänzen
Über
getPackageAliases() können Sie — analog zu den aliases in config/app.php — Facade-Aliase für den Testbetrieb registrieren.Grundlegender Aufbau von Tests
Prüfen Sie zunächst, ob der Service Provider geladen wird, die Facade wie erwartet arbeitet und die Konfiguration greift.Tests für Dateisystem und Datenbank
Für Tests mit Datenbank konfigurieren Sie indefineEnvironment() eine SQLite-In-Memory-Datenbank und laden die zu prüfenden Migrationen.
Tests gegen mehrere Laravel-Versionen
Die Major-Version von Testbench entspricht der Major-Version von Laravel. Details finden Sie in der offiziellen Version Compatibility.
Für die fortlaufende Prüfung gegen mehrere Versionen kombinieren Sie das mit einer GitHub-Actions-Matrix. Zur Entwurfsphilosophie siehe Versionskompatibilität von Paketen verwalten.
Fazit
Mit Testbench können Sie das Verhalten Ihres Pakets sehr nah am Produktivbetrieb prüfen, ohne eine Laravel-Anwendung manuell aufsetzen zu müssen. Wenn Sie Service-Provider-Registrierung, Konfiguration, Facades und Datenbank in Ihre Tests einbeziehen, lassen sich Post-Release-Fehler deutlich reduzieren.Verwandte Seiten
Laravel-Paketentwicklung
Prüfen Sie die Grundlagen der Paketimplementierung rund um Service Provider.
Versionskompatibilität von Paketen verwalten
Prüfen Sie die Versionsstrategie für Laravel und Testbench sowie den Betrieb der CI-Matrix.