že to nefunguje (když nemá) - jak testovat - unit testy - integrační testy - akceptační testy - selenium (high level akceptační testy) - Test Driven Development (red, green, refactor) - Behaviour Driven Development
guzzle klient - testy používají fake klienta - api se reálně zavolá pouze poprvé - výsledek se uloží - další běhy načítají odpovědi z disku - když soubor smažu, request se provede Ukázka v testech Kdyby/CsobPaymentGateway na githubu
function getContainer() {} function createContainer() {} abstract class DbTestCase extends IntegrationTestCase { function createContainer() {} function setupDatabase(Connection $db);
{ $cart = $this->getService(OrderCart::class); $cart->addItem(10); // položka s id 10 $itemsInDb = $this->getService(Connection::class) ->query("SELECT id FROM order_items WHERE order = 1"); Assert::same([10], $itemsInDb); }
usePresenter($name); function runPresenterAction($action, ...); function makeAjax(); function fakeCsrfProtection(); function fakeRedirectFromWebpay($action, ...); function fakeRedirectFromCsob($action, ...);
attachToPresenter($component, ...); function loadState($params, ...); function runSignal($signal, $params, ...); function makeAjax(); function assertRedirect($url); function assertSnippets($snippets);