Codeception – autoloading

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
potapnik
Člen | 127
+
0
-

Ahoj všem :) asi to chybou mezi klávesnicí a židlí, ale lze nějak komfortně nastavit autoloading pro Codeception Unit testy? Acceptance procházejí v pohodě, ale za Boha nemůžu přijít na to, jak Codeceptionu podstrčit autoload pro app/ třeba z Robotloaderu. Předem díky za popostrčení správným směrem :-)

enumag
Člen | 2118
+
0
-

Do tests/_bootstrap.php dej tohle:

<?php

require_once __DIR__ . '/../vendor/autoload.php';

(případně jiný autoloading jako RoborLoader)

Také by ti mohla pomoci sekce autoload-dev v composer.json (podívej se do dokumentace composeru).

potapnik
Člen | 127
+
0
-

Tak, chtělo toho trochu víc, tak to snad mám správně. Jak vendor autoload z Composeru, tak RobotLoader pro app. Doufám, že tam nemám nějakou koninu :-)

<?php

require __DIR__ . '/../vendor/autoload.php';


$loader = new Nette\Loaders\RobotLoader;
$loader->addDirectory(__DIR__.'/../app');
$loader->setCacheStorage(new Nette\Caching\Storages\FileStorage(__DIR__.'/_data'));
$loader->register();

?>
potapnik
Člen | 127
+
0
-

To require __DIR__ . '/../vendor/autoload.php'; jsem ještě vyhodil, Codeception zřejmě startuje už s composer autoloadem, ponechal jsem tam pouze RobotLoader a vše zatím funguje.