Phpunit a bootstrap v Nette 2.1.2
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- tttpapi
- Člen | 100
Ahoj,
chtěl jsem si napsat první unit test.
Použil jsem bootstrap, který je součástí sandboxu.
<?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');
$configurator->addConfig(__DIR__ . '/../app/config/config.local.neon');
return $configurator->createContainer();
?>
A napsal zkušební test:
<?php
class DepartmentsTest extends PHPUnit_Framework_TestCase {
public function testGetDepartmentsTable() {
$context = $this->getMock('Context');
$departments = new App\Model\Departments($context);
$this->assertEquals('departments', $departments ->getTableName());
}
}
?>
Vím, že tam je určitě spoustu chyb v tom testu, ale nemůžu se dostat přes loadování tříd…
Po spuštění to totiž hodí chybu:
Fatal error: Class ‚App\Model\Departments‘ not found in
…\tests\DepartmentsTest.php on line 6
Děkuji za jakoukoli pomoc.
PS: Chtěl bych to opravdu přes PHPUnit.