Testaus
Pike\TestUtils
on kokoelma luokkia jotka auttaa Pike-applikaation testauksessa.
Sisällysluettelo
Kontrollerien testaus
Pikessä kontrollerien testaus suoritetaan \Pike\TestUtils\HttpTestUtils
-traitilla seuraavasti.
Esimerkki
<?php
use PHPUnit\Framework\TestCase;
use Me\Testing\MyApp;
use Pike\{AppContext, Request, TestUtils\HttpTestUtils};
class MyControllerTest extends TestCase {
// 1. Sisällytä trait
use HttpTestUtils;
public function testSomeRouteReturnsFoo(): void {
// 2. Luo applikaatio-olio
$app = $this->makeApp([MyApp::class, 'create']);
// 3. Luo olio testattavalle reitille
$body = null;
$files = null;
$serverVars = null;
$req = new Request('/some-route', 'GET', $body, $files, $serverVars);
// 4. Suorita testi
$res = $app->sendRequest($req);
// 5. Assertoi
$this->verifyResponseMetaEquals(200, 'application/json', $res);
$this->assertEquals(json_encode((object) ['message' => 'foo']),
$res->getActualBody());
}
}