Wrong appDir constant in config while testing
Notice: This thread is very old.
- meridius
- Member | 34
When I run the project in browser the %appDir%
constant is set
to myproj/app
, but when I run the Tester (with
myproj/tests/bootstrap.php
and config.neon
as shown
below) I get exception about myproj/tests/entities
dir given.
Which suggests that the %appDir%
is set to
myproj/tests
.
Why is ->addDirectory(__DIR__ . '/../app')
not working?
And how do I fix that other than creating separate
config.tests.neon
?
tests/bootstrap.php:
<?php
require __DIR__ . '/../vendor/autoload.php';
if (!class_exists('Tester\Assert')) {
echo "Install Nette Tester using `composer update --dev`\n";
exit(1);
}
Tester\Environment::setup();
$configurator = new Nette\Configurator;
$configurator->setDebugMode(FALSE);
$configurator->setTempDirectory(__DIR__ . '/../temp');
$configurator->createRobotLoader()
->addDirectory(__DIR__ . '/../app')
->register();
$configurator->addConfig(__DIR__ . '/../app/config/config.neon', "common");
$configurator->addConfig(__DIR__ . '/../app/config/config.local.neon');
return $configurator->createContainer();
app/config/config.neon
common:
# some config here
doctrine < %databaseInfo%:
metadata:
App\Entities: '%appDir%/entities' # namespace and directory for ORM entities
extensions:
console: Kdyby\Console\DI\ConsoleExtension
events: Kdyby\Events\DI\EventsExtension
annotations: Kdyby\Annotations\DI\AnnotationsExtension
doctrine: Kdyby\Doctrine\DI\OrmExtension
- David Matějka
- Moderator | 6445
You have to set appDir manually:
$configurator->addParameters(array(
'appDir' => __DIR__ . '/../app',
));