This is my symfony project where I am practising functional test and I have such error when I am testing my function.
Here, The section of code in which my error occur:\
<?php
namespace App\Tests;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
use App\Entity\Category;
class AdminControllerCategoriesTest extends WebTestCase
{
public function setUp():void
{
parent::setUp();
$this->client = static::createClient();
$this->entityManager = $this->client->getContainer()->get('doctrine.orm.entity_manager');
$this->entityManager->beginTransaction();
$this->entityManager->getConnection()->setAutoCommit(false);
}
public function tearDown():void
{
parent::tearDown();
$this->entityManager->rollback();
$this->entityManager->close();
$this->entityManager = null; //avoid memory leaks
}
public function testTextOnPage()
{
$crawler = $this->client->request('GET', '/admin/categories');
$this->assertSame('Categories list', $crawler->filter('h2')->text());
$this->assertContains('Electronics', $this->client->getResponse()->getContent());
}
public function testNumberOfItems()
{
$crawler = $this->client->request('GET', '/admin/categories');
$this->assertCount(21, $crawler->filter('option'));
}
}
Here, my .env, Where I have my database connection:
# In all environments, the following files are loaded if they exist,
# the latter taking precedence over the former:
#
# * .env contains default values for the environment variables needed by the app
# * .env.local uncommitted file with local overrides
# * .env.$APP_ENV committed environment-specific defaults
# * .env.$APP_ENV.local uncommitted environment-specific overrides
#
# Real environment variables win over .env files.
#
# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES.
#
# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2).
# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration
###> symfony/framework-bundle ###
APP_ENV=dev
APP_SECRET=018d7408d23791c60854cbb4fc65b667
###< symfony/framework-bundle ###
###> doctrine/doctrine-bundle ###
# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
#
# DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db"
DATABASE_URL="mysql://root:@127.0.0.1:3306/symf5?serverVersion=mariadb-10.4.11"
# DATABASE_URL="postgresql://symfony:[email protected]:5432/app?serverVersion=13&charset=utf8"
###< doctrine/doctrine-bundle ###
Here, I have following code in my .env.test file:
# define your env variables for the test env here
KERNEL_CLASS='App\Kernel'
APP_SECRET='$ecretf0rt3st'
SYMFONY_DEPRECATIONS_HELPER=999999
PANTHER_APP_ENV=panther
PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots
I don't know what is problem with, I have tried different methods but it doesn't work and I also don't know what wrong with this and what to do.Hope you guys help me sort out my problem. Thank you!