Jak zprovoznit tester na Ubuntu?
- ovo
- Člen | 2
Zdravím všechny,
dělám na jednom projektu v Nette, který je dosti rozpracovaný, leč teď se
nemůžu zeptat hlavního programátora, neb je pryč. Věřím tedy, že mi
tady někdo poradíte.
Potřebuji zprovoznit Unit testy. Projekt vyvíjím na localhostu (klasický LAMP) na počítači s Ubuntu 12.04, Nette 2.2.2., PHP 5.4.31–1+deb.sury.org~precise+1
Kolega už před časem vytvořil nějaké základní Unit testy v adresáři test/EddeTest – např. SystemContainer.phpt
<?php
namespace EddeTest;
use Edde\Testing\Test;
use Tester;
use Tester\Assert;
$context = require_once(__DIR__.'/../bootstrap.php');
/**
* @auto-inject
*/
class SystemContainerTest extends Test {
public function testAddService() {
$this->context->addService(__CLASS__, $this);
Assert::exception(function () {
$this->context->addService(__CLASS__, $this);
}, 'Nette\\InvalidStateException', "Service 'EddeTest\\SystemContainerTest' already exists.");
}
public function testGetService() {
Assert::type(__CLASS__, $this->context->getService(__CLASS__));
}
public function testHeuristic() {
Assert::type('Edde\\ObjectProvider\\ObjectService', $this->context->getHeuristic('\\ObjectService'));
Assert::exception(function () {
$this->context->getHeuristic('ObjectService');
}, 'Edde\\DI\\HeuristicException', "Multiple service types by query 'ObjectService'.");
Assert::exception(function () {
$this->context->getHeuristic('BlahBlah');
}, 'Edde\\DI\\HeuristicException', "Can't find any service by query 'BlahBlah'.");
}
}
Test::execute($context, 'EddeTest\\SystemContainerTest');
?>
Nette Tester je v adresáři Tester, je tam již tester a tester.php
Díval jsem se na https://tester.nette.org/cs/ ale moc nevím, jak testy spouštět. Když zadám do terminálu příkaz
petr@devel-ubuntu:/var/www/snowhill/lib/Tester$ tester -c /etc/php5/apache2/php.ini /var/www/snowhill/test/EddeTest/SystemContainer.phpt
: není adresářemp
tak to vypisuje velmi zvláštní hlášku „: není adresářemp“, nikde jsem o ničem takovém nic nevygooglil. Nevím moc, jestli je problém u mě na localhostu, nebo v Nette projektu.
Napadá vás někoho něco?
Děkuji velice za pomoc.
- japlavaren
- Člen | 404
ta tvoja chybova hlaska bude isto z kodov kolegu. co tak prehladat tie php-ka a naist tu hlasku, a podla toho zistit, kde je chyba ;)
- Filip Procházka
- Moderator | 4668
Nejspíš ti chybí na počítači složka tests/tmp
, podívej
se do bootstrapu, jak se ta složka jmenuje, kterou to potřebuje a
vytvoř ji.
Mimochodem, ten test je otřesný :)
- ovo
- Člen | 2
Děkuji za tipy, přes onen problém jsem se již dostal, problém byl v tom, že ve spouštěcím souboru tester
#!/usr/bin/env php
<?php
require __DIR__ . '/tester.php'; ?>
byly nastavené konce řádků jako Microsoft Windows. Když jsem přenastavil na Unix, už to jelo, zajímavé…
Mimochodem, v čem je ten test otřesný? Rád se vzdělám víc…