I am trying to set up functional testing for my symfony 5.4 application. However, I keep getting the following exception:
App\\Tests\\Functional\\LoginTest::testSomething
Symfony\\Component\\HttpClient\\Exception\\InvalidArgumentException: Invalid "base_uri" option: host or scheme is missing in "".
/home/wwwroot/app/vendor/symfony/http-client/HttpClientTrait.php:449
/home/wwwroot/app/vendor/symfony/http-client/ScopingHttpClient.php:49
/home/wwwroot/app/var/cache/test/ContainerQAJT6OS/App_KernelTestDebugContainer.php:4986
/home/wwwroot/app/var/cache/test/ContainerQAJT6OS/App_KernelTestDebugContainer.php:10601
/home/wwwroot/app/var/cache/test/ContainerQAJT6OS/App_KernelTestDebugContainer.php:629
/home/wwwroot/app/var/cache/test/ContainerQAJT6OS/App_KernelTestDebugContainer.php:13645
/home/wwwroot/app/var/cache/test/ContainerQAJT6OS/App_KernelTestDebugContainer.php:2150
/home/wwwroot/app/vendor/symfony/event-dispatcher/EventDispatcher.php:245
/home/wwwroot/app/vendor/symfony/event-dispatcher/EventDispatcher.php:76
/home/wwwroot/app/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:293
/home/wwwroot/app/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:148
/home/wwwroot/app/vendor/symfony/http-kernel/HttpKernel.php:223
/home/wwwroot/app/vendor/symfony/http-kernel/HttpKernel.php:86
/home/wwwroot/app/vendor/symfony/http-kernel/Kernel.php:202
/home/wwwroot/app/vendor/symfony/http-kernel/HttpKernelBrowser.php:65
/home/wwwroot/app/vendor/symfony/framework-bundle/KernelBrowser.php:183
/home/wwwroot/app/vendor/symfony/browser-kit/AbstractBrowser.php:398
/home/wwwroot/app/tests/Functional/LoginTest.php:12
I do not know why I am encountering this problem since the code in my LoginTest.php is almost identical to the code that the Symfony 5.4 documentation provides (link).
My code is as follows:
<?php
namespace App\Tests\Functional;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class LoginTest extends WebTestCase
{
public function testSomething(): void
{
$client = static::createClient();
$crawler = $client->request('GET', '/login');
$this->assertResponseIsSuccessful();
}
}
Does anybody know how to solve this?
I tried to set the base uri as a createClient parameter. This did not work. I just don't understand why the code works in normal symfony systems and doesn't in mine.