PhpUnit Initialize ContaoFramework
Ich versuche die ersten Tests für meine eigenen Funktionen zu schreiben und habe dabei aber gleich zu Anfang ein Problem beim Initialisieren des Contaoframeworks.
Als "Beispiel-Tutorial" und als Hilfe hab ich von von github das "Contao 4 test case" zur Hand genommen.
Beim ausführen des Tests erhalte ich dann aber den Fehler: Use of undefined constant TL_ROOT - assumed 'TL_ROOT'
Es scheint als so als ob der initialize des Contaoframeworks nicht ritchtig geklappt hat, da dies dort eigentlich erledigt werden sollte.
Leider habe ich bisher nichts passendes gefunden mit dem ich das Problem lösen kann.
PHPUnit habe ich über den Composer installiert und zusätzlich eine eigene Bootstrap-Datei eingebunden basierend auf den vorhanden Contao-Tests.
Mein Start-Code sieht wie in dem genannten Beispiel aus:
PHP-Code:
use Contao\Config;
use Contao\CoreBundle\DependencyInjection\ContaoCoreExtension;
use Contao\CoreBundle\Framework\Adapter;
use Contao\CoreBundle\Framework\ContaoFramework;
use Contao\User;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
class MyClassTest extends TestCase
{
public function testMyFunction()
{
$framework = $this->mockContaoFramework();
$framework
->expects($this->atLeastOnce())
->method('initialize');
$container = $this->mockContainer();
\System::setContainer($container);
}
}
Die zugehörigen Funktionen die im Code aufgerufen werden sind alle aus dem "Tutorial" übernommen.
Was mache ich falsch oder hab ich etwas vergessen?
Danke für jede Hilfe im Vorraus