PHPUNIT Funktionen in einem Laravel Package mit PHPPEST nutzen
Ich integriere PHPPEST in mein Laravel Package, indem ich folgenden Header-Code in die jeweilige Testdatei einfüge:
use Tests\TestCase;
uses(TestCase::class)->in(__DIR__);
Ohne diese Zeilen würden Funktionen wie
$this->get('url');
nicht funktionieren. Mit dieser Integration kann ich PHPUNIT Funktionen in PHPPEST effizient in meinen Laravel Tests verwenden.
Eine zusätzliche Optimierungsmöglichkeit besteht darin, eigene TestCase-Dateien zu erstellen, indem man Tests\TestCase erweitert und um eigene Methoden ergänzt.
Beispiel:
namespace DeinPaketNamespace\Core\App\Classes;
use Tests\TestCase as LaravelTestCase;
class TestCase extends LaravelTestCase
{
protected function assertClassExist(string $classNameWithNamespace)
{
$this->assertTrue(class_exists($classNameWithNamespace));
}
}
//Am Ende des Files binded man dann die neuen Methoden in Pest ein.
uses(TestCase::class)->in(__DIR__);
in deinem Testfile brauchst du nun nur noch dein eigenes TestCase-File einbinden:
use DeinPaketNamespace\Core\App\Classes\TestCase;
uses(TestCase::class)->in(__DIR__);
Tipps:
Nutze die Erweiterung von TestCase, um maßgeschneiderte Testmethoden zu erstellen.
Verwende klare und präzise Bezeichnungen für deine Testfunktionen, um ihre Funktionalität transparent zu machen.
Strukturiere deine eigenen TestCase-Dateien für eine verbesserte Lesbarkeit und Wartbarkeit des Codes.