Nette/Tester: Assert::throws → parametry callbacku
- hapi
- Člen | 35
Dobrý den,
je možné předat parametry callbacku v
Assert::throws($function, $class)
?
V této metodě se callback volá pomocí funkce
call_user_func
, parametry se této metodě ale nijak nepředávají
ve stylu
call_user_func($callback, $parameter1, $parameter2, ...)
.
Pokud ale vím, do callbacku není možné parametry zakomponovat? Je to nedostatek Testeru a nebo je to možné nějak řešit a jen nevím jak?
- David Matějka
- Moderator | 6445
muzes tam dat treba anonymni funkci, ktera zavola tu danou fci s parametama
- hapi
- Člen | 35
Asi nerozumím, vždyť parametry té funkci se musí předat v místě volání, nebo mi něco nedochází?
$list = new ArrayList();
Assert::throws(
function($list) {
$list->addAt(5, 1);
},
'\OutOfBoundsException'
);
Zde se vyhodí chyba, že funkce očekývá 1 parametr a nedostala žádný.
Jde o to, že do listu přidávám různé elementy a každé přidání testuji.
Chtěl bych tedy \OutOfBoundsException
testovat na stejné
instanci, není pro mne nejvhodnější řešení si vytvářet novou instanci
v anonymní funkci.
- David Matějka
- Moderator | 6445
anonymni fci pouzijes takhle:
$list = new ArrayList();
Assert::throws(
function() use($list) {
$list->addAt(5, 1);
},
'\OutOfBoundsException'
);