Voici mon fichier phpunit.xmlPHPUnit et Symfony2 ne peuvent pas accéder aux variables globales
<?xml version="1.0" encoding="UTF-8"?>
<!-- http://phpunit.de/manual/4.1/en/appendixes.configuration.html -->
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd"
backupGlobals="false"
backupStaticAttributes="false"
processIsolation="false"
colors="true"
stopOnFailure="false"
syntaxCheck="false"
bootstrap="bootstrap.php.cache"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
>
<testsuites>
<testsuite name="Project Test Suite">
<directory>../src/*/*Bundle/Tests</directory>
<directory>../src/*/Bundle/*Bundle/Tests</directory>
<directory>../src/*Bundle/Tests</directory>
</testsuite>
</testsuites>
<php>
<server name="KERNEL_DIR" value="./" />
<var name="DB_DSN" value="mysql:dbname=test_xxx;host=localhost" />
<var name="DB_USER" value="root" />
<var name="DB_PASSWD" value="" />
<var name="DB_DBNAME" value="test_xxx" />
</php>
<logging>
<log type="coverage-html" target="build/coverage" title="App Code Coverage" charset="UTF-8" yui="true" highlight="true"
lowUpperBound="35" highLowerBound="70"/>
<log type="coverage-clover" target="build/logs/clover.xml"/>
<log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="false"/>
</logging>
<filter>
<whitelist>
<directory>../src</directory>
<exclude>
<directory>../src/*Bundle/Resources</directory>
<directory>../src/*Bundle/Tests</directory>
<directory>../src/*/*Bundle/Resources</directory>
<directory>../src/*/*Bundle/Tests</directory>
<directory>../src/*/Bundle/*Bundle/Resources</directory>
<directory>../src/*/Bundle/*Bundle/Tests</directory>
</exclude>
</whitelist>
</filter>
</phpunit>
Dans mon:
- src
- AppBundle
- Tests
- AbstractDatabaseTestCase.php
- Tests
- AppBundle
AbstractDatabaseTestCase.php:
abstract class AbstractDatabaseTestCase extends \PHPUnit_Extensions_Database_TestCase{
/**
*
*@var PDO
*
*/
static $pdo;
/**
*
*@var \Doctrine\DBAL\Connection description
*
*/
static $dbal;
private $conn;
final public function getConnection()
{
var_dump($GLOBALS);
// here my GLOBALS['DB_DSN'], GLOBALS['DB_USER'], GLOBALS['DB_PASSWD'] are not seen.
if ($this->conn === null) {
if (self::$pdo == null) {
self::$pdo = new \PDO($GLOBALS['DB_DSN'], $GLOBALS['DB_USER'], $GLOBALS['DB_PASSWD']);
}
$this->conn = $this->createDefaultDBConnection(self::$pdo, $GLOBALS['DB_DBNAME']);
}
return $this->conn;
}
Comme vous pouvez le voir dans les commentaires, compte tenu du fait que je suivais la documentation, ma classe ne semble pas voir les globals définis dans le fichier phpunit.xml.
Avez-vous des idées? Ai-je manqué quelque chose?
Merci!
Avez-vous vérifié $ _SERVER? –
@RenatoMendesFigueiredo Il a fait de même pour toutes les variables, maintenant donné qu'il m'a conduit à la réponse ci-dessous, merci! – Gabriel