Třída testu nevidí rodiče

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

Zdravím,
zkouším použít postup Honzy Marka na testování presenterů. Takže mám třídu BaseTestCase, která vypadá stejně jako na odkazu, akorát s tímhle na začátku:

<?php


namespace Test;

use Nette,
    Tester;

$container = require __DIR__ . '/bootstrap.php';

Vedle ní mám UserPresenterTest, který vypadá takto:

<?php


namespace Test;

use Nette;


class UserPresenterTest extends BaseTestCase
{

    public function testDetail()
    {
        // získám správný presenter
        $presenter = $this->getPresenter('Admin:User');

        // vytvořím request
        $request = new Request('Admin:User', 'GET', array(
            'action' => 'list',
        ));

        // spustím request
        $response = $presenter->run($request);

        // zkontroluji response
        $this->assertInstanceOf('Nette\Application\Responses\TextResponse', $response);
        $template = $response->getSource();
        $this->assertEquals('Lorem ipsum', $template->title);
    }

}

a bootstrap ve stejné složce vypadá takhle:

<?php

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

if (!class_exists('Tester\Assert')) {
	echo "Install Nette Tester using `composer update --dev`\n";
	exit(1);
}

Tester\Helpers::setup();

function id($val) {
	return $val;
}

$configurator = new Nette\Config\Configurator;
$configurator->setDebugMode(True);
$configurator->setTempDirectory(__DIR__ . '/../temp');
$configurator->createRobotLoader()
	->addDirectory(__DIR__ . '/../app')
	->register();

$configurator->addConfig(__DIR__ . '/../app/config/config.neon');
$configurator->addConfig(__DIR__ . '/../app/config/config.local.neon', $configurator::NONE); // none section
return $configurator->createContainer();

Zkrátka žádná velká věda. Ale už do toho hledím asi hodinu a jediné, co dostávám z UserPresenterTestu je `Fatal error: Class ‚Test\BaseTestCase‘ not found in /home/michal/www/gismob/tests/UserPresenterTest.php on line 10 `. Všechny soubory jsou ve složce tests. Předpokládám, že půjde o nějakou blbost, na kterou ale nemůžu přijít, budu tedy vděčný za radu.

PS: test spouštím pomocí php libs/nette/tester/Tester/tester.php -c /etc/php5/apache2/php.ini tests/UserPresenterTest.phpt

Editoval zimmi (30. 7. 2013 8:47)

mkoubik
Člen | 728
+
0
-

A jak by ho měl najít? Dej si soubor s BaseTestCase do require_once.

zimmi
Člen | 94
+
0
-

Takže jsem předpokládal špatně, že se o načtení postará robotLoader? :-)

llook
Člen | 407
+
0
-

RobotLoader prochází jenom adresáře, které mu určíš a v nich jenom masky, které má v $acceptFiles (výchozí *.php, *.php5).