Tester: nevypíše se, kde je chyba
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- kolsi
- Člen | 131
Ahoj, mohl by mě někdo prosím nakopnout, jestli dělám něco špatně? Při spuštění testu se vypíše, že test selhal, ale nedozvím se, kde došlo k chybě. Žádný log, nic, jenom toto:
-- FAILED: LogPresenter | kolsi/tests/LogTest.phpt [method=testForm]
Exited with error code 255 (expected 0)
V kódu testu je:
$request = new Request($presenter_name, $method, $params, $post);
$response = $presenter->run($request);
// Ověříme, zda odpověď je skutečně šablona:
Assert::type('Nette\Application\Responses\TextResponse', $response);
Assert::type('Nette\Application\UI\ITemplate', $response->getSource());
$html = (string) $response->getSource();
$dom = @DomQuery::fromHtml($html); // @ - not valid HTML
Assert::true($dom->has('html'));
Assert::true($dom->has('title'));
Assert::true($dom->has('body'));
A pokud doplním jednoduché logování (Debugger::log), tak poslední provedený řádek je:
$html = (string) $response->getSource();
Takže dojde k chybě při renderování šablony. Je nějaký důvod, proč by mi to nemělo vypsat, kde přesně došlo k chybě?
Nette 2.3.10 + Tester 1.6.1 (ale zkusil jsem i 2.0.x).
- Šaman
- Člen | 2659
Nastav si spouštění .phpt
souborů pomocí PHP (nebo ho
dočasně přejmenuj na .php
), zapni si Tracy a spusť si test
v prohlížeči. Zjistíš všechno. Zrovna jsem to řešil v jiném
vláknu.