Nefunguje mi Assert::exception

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

Zdravím,
nevím kde dělám chybu, ale Asseter mi neodchytává vyjimku.
Pokud to napíšu takhle:

<?php
function testGetOneEntityNotExist()
        {
            Assert::exception($a=$this->em->getOne("Neexistující entita"),
				'\Rampus\Norma\EntityNotFoundException');
        }
?>

tak to vyhodí hlášku:

Exited with error code 255 (expected 0)
   <br />
   <b>Fatal error</b>:   in <b>C:\UniServerZ\www\normaweb\norma\src\EntityManager.php</b> on line <b>132</b><br />
// na této řádce se ta vyjimka opravdu vyhazuje a je to v pořádku

Ale to napíšu s annotací @throws \Rampus\Norma\EntityNotFoundException, tak to projde jako pass.
Nechápu, proč mi ten asseter tu vyjimku neodchytí.
Nevíte co dělám blbě?
Děkuji

/edit: Nette 2.3.1, Tester 1.4, PHP 5.6

Editoval Rampus (20. 4. 2015 13:44)

Jan Endel
Člen | 1016
+
+5
-

Assert:exception přijímá jako první argument callback, takže v tvém případě:

function testGetOneEntityNotExist()
        {
            Assert::exception(function () {
				$a=$this->em->getOne("Neexistující entita");
			},
                '\Rampus\Norma\EntityNotFoundException');
        }
Rampus
Člen | 39
+
0
-

Ups, tak tak to jsem přehlédl… A já se s tím moříl asi půl hodiny.
Díky :)