Ein selbstgehosteter TDD-Dashboard- und Test-Watcher
TDD Dashboard ist eine App (erstellt als Laravel-PHP-Paket), mit der Sie alle Ihre Tests während der Entwicklung überwachen und ausführen können. Es unterstützt jedes Test-Framework, das auf Terminals läuft, und wird mit einigen vorkonfigurierten Testern (PHPUnit, phpspec, behat, Jest, AVA...) geliefert, aber Sie können Ihr eigenes ganz einfach hinzufügen, sagen Sie ihm einfach, wo sich die ausführbare Datei befindet, und fertig. Außerdem wird der Fortschritt Ihrer Tests angezeigt, Sie können einen einzelnen oder alle Tests ausführen und Ihren bevorzugten Code-Editor (PHPStorm, VSCode, Sublime Text usw.) öffnen, um direkt zur fehlerhaften Zeile Ihres Tests zu gelangen. Wenn Ihr Test-Framework Screenshots generiert, kann es diese auch auf der Protokollseite anzeigen, mit allen Rot- und Grüntönen, die Sie von Ihrem Terminal gewohnt sind.
Es verwendet Laravel als Motor, unterstützt aber viele Sprachen, Frameworks und Test-Frameworks (und wurde mit ihnen getestet):
PHPUnit
Laravel und Laravel Dusk
Codeception
phpspec
Behat
Atom
Scherz
AVA
Reagieren
Ruby auf Schienen
Netter Tester
Symfony
Projektliste: Klicken Sie auf einen Projektlink, um alle zugehörigen Tests anzuzeigen.
Öffnen Sie Dateien direkt in Ihrem Quellcode-Editor (PHPStorm, Sublime Text...).
Fehlerprotokoll mit verknüpftem Quellcode. Gehen Sie direkt zur Fehlerzeile in Ihrem Quellcode.
Einen Test aktivieren/deaktivieren. Sobald der Beobachter eine Änderung der Ressourcen erkennt, wird dieser Test nicht ausgelöst, sobald er deaktiviert ist.
Echtzeit-Teststatus: „Leerlauf“, „Läuft“, „Warteschlange“, „OK“ und „Fehlgeschlagen“.
Schaltfläche „Anzeigen“, um das Fehlerprotokoll fehlgeschlagener Tests anzuzeigen.
Hochgradig konfigurierbar, schauen Sie sich alles an und testen Sie alles!
Vorschau
Installieren
VueJS-Vorschau
Vorschau auf die Laravel-Dämmerung
Die Artisan-Befehle Watcher und Tester sind für die Überwachung von Ressourcen bzw. das Auslösen von Tests verantwortlich:
Behalten Sie den Überblick über Ihre Dateien und stellen Sie Ihre Tests jedes Mal in die Warteschlange, wenn ein Projekt oder eine Testdatei geändert wird. Wenn sich eine Projektdatei ändert, werden alle Ihre Tests in die Warteschlange gestellt. Wenn sich eine Testdatei ändert, wird nur dieser bestimmte Test in die Warteschlange gestellt. So führen Sie es aus:
php artisan tddd:watch
Verantwortlich dafür, Tests aus der Ausführungswarteschlange zu entnehmen, auszuführen und die Ergebnisse zu protokollieren. Der Tester führt nur aktivierte Tests aus. So führen Sie es aus:
php artisan tddd:test
Es verwendet JoliNotif. Wenn es also unter macOS nicht funktioniert, können Sie versuchen, terminal-notifier zu installieren:
brew installiert den Terminal-Notifier
Dieses Paket wurde getestet und ist bekanntermaßen kompatibel mit
Codeception
PHPUnit
phpspec
behat
Atom
Netter Tester
laravel neues tdddcd tddd Komponist benötigt pragmarx/tddd PHP-Artisan-Anbieter:publish --provider="PragmaRXTdddPackageServiceProvider"valet link tddd# Konfigurieren Sie die Datenbank auf Ihrer .envphp-Artisan-Migration php artisan tddd:watch & php artisan tddd:work &open http://tddd.dev/tests-watcher/dashboard
Viele Beispiele finden Sie in dieser Starter-App, die Ihnen auch dabei hilft, ein unabhängiges Dashboard für Ihre Tests zu erstellen.
Erfordern Sie es mit Composer:
Komponist benötigt pragmarx/tddd
Erstellen Sie eine Datenbank, konfigurieren Sie sie in Ihrer Laravel-App und migrieren Sie sie
PHP-Artist migrieren
Ci-Konfiguration veröffentlichen:
Auf Laravel 4.*
Fügen Sie den Dienstanbieter zu Ihrer app/config/app.php hinzu:
'PragmaRXTdddPackageServiceProvider',
php artisan config:publish pragmarx/tddd
Auf Laravel 5.*
PHP-Artist-Anbieter:publish --provider="PragmaRXTdddPackageServiceProvider"
'project bar (dusk)' => ['path' => $basePath,'watch_folders' => ['app','tests/Browser'],'exclude' => ['tests/Browser/console/', 'tests/Browser/screenshots/', ],'depends' => [],'tests_path' => 'tests','suites' => ['browser' => ['tester' => 'dusk','tests_path' => 'Browser',' command_options' => '','file_mask' => '*Test.php','retries' => 0, ], ], ],
Sie müssen zunächst bedenken, dass sie isoliert ausgeführt werden und außerdem die Umgebung nicht genau dieselbe ist, sodass Dinge wie ein Cache und eine Sitzung Ihre Ergebnisse beeinflussen können.
Laravel 4.1+ oder 5
PHP 5.3.7+
Antonio Carlos Ribeiro
Laravel Ci ist unter der BSD 3-Clause-Lizenz lizenziert – Einzelheiten finden Sie in der LICENSE
Datei
Pull-Requests und Issues sind willkommen.