Väitteet ja testimetodit
Käyttäkää assertEquals-, assertSame-, assertNull- ja muita väitteitä.
Väitteet ja testimetodit on ilmainen PHP Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu PHP Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. PHP Academy-kurssilla on yhteensä 4 oppituntia.
Mitä assertiot ovat?
Assertiot varmistavat, että koodin todellinen tulos vastaa odotettua arvoa. PHPUnit tarjoaa kattavan kirjaston assertiometodeja.
assertEquals ja assertSame
assertEquals käyttää väljää vertailua (==). assertSame käyttää tarkkaa vertailua (===) — se tarkistaa sekä tyypin että arvon.
<?php
$this->assertEquals(0, false); // passes (0 == false)
$this->assertSame(0, false); // FAILS (0 !== false)assertTrue ja assertFalse
Testatkaa, että arvo on täsmälleen true tai täsmälleen false.
<?php
$this->assertTrue(is_string("hello"));
$this->assertFalse(is_numeric("abc"));assertNull ja assertNotNull
Tarkistakaa, onko arvo null.
<?php
$user = $repo->find(999);
$this->assertNull($user);
$user = $repo->find(1);
$this->assertNotNull($user);assertCount
Varmistakaa, että laskettavassa kohteessa on odotettu määrä alkioita.
<?php
$items = $cart->getItems();
$this->assertCount(3, $items);assertStringContainsString
Varmistakaa, että merkkijono sisältää alimerkkijonon (kirjainkoko huomioidaan).
<?php
$html = $template->render();
$this->assertStringContainsString("<h1>Welcome</h1>", $html);assertInstanceOf
Varmistakaa, että olio on annetun luokan tai rajapinnan instanssi.
<?php
$handler = $factory->create("email");
$this->assertInstanceOf(EmailHandler::class, $handler);assertThrows / expectException
Odotetaan, että testin aikana heitetään poikkeus.
<?php
public function test_throws_on_invalid_input(): void
{
$this->expectException(\InvalidArgumentException::class);
$this->expectExceptionMessage("must be positive");
new Product(-1);
}assertArrayHasKey
Tarkistakaa, että taulukko sisältää tietyn avaimen.
<?php
$result = $api->getUser(1);
$this->assertArrayHasKey("email", $result);
$this->assertArrayHasKey("id", $result);assertEqualsWithDelta
Verratkaa liukulukuja toleranssin eli deltan puitteissa.
<?php
$this->assertEqualsWithDelta(3.14159, M_PI, 0.001);Mukautetut epäonnistumisviestit
Välittäkää viesti viimeisenä argumenttina mille tahansa assertiolle, jotta testin epäonnistumisesta tulostuvat tiedot ovat selkeämmät.
<?php
$this->assertEquals(200, $response->status(), "Expected HTTP 200 OK response");Yhteenveto
Käyttäkää assertSame-metodia tarkkaan yhtäsuuruuteen, assertEquals-metodia väljään vertailuun sekä ilmaisukykyisiin testeihin erikoistuneita assertioita, kuten assertInstanceOf, assertCount ja assertThrows.
Pikatarkistus
Mikä assertio tarkistaa myös arvon tyypin?
Opi PHP tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 49
- Oppitunnit
- 195
Usein kysytyt kysymykset
Onko oppitunti ”Väitteet ja testimetodit” ilmainen?
Kyllä – oppitunnin ”Väitteet ja testimetodit” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko PHP Academy-kurssin, päivitä CoddyKit PROhon. PHP Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Väitteet ja testimetodit”?
Käyttäkää assertEquals-, assertSame-, assertNull- ja muita väitteitä. Harjoittelet PHP Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni PHP Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin PHP Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Väitteet ja testimetodit”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä PHP Academy-oppitunnilla?
Kyllä. Jokainen PHP Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- PHPUnitin käyttöönotto ja ensimmäinen testi
- Väitteet ja testimetodit
- Tietolähteet parametrisoiduille testeille
- Riippuvuuksien mallintaminen PHPUnitilla