PHP Academy · Oppitunti

Väitteet ja testimetodit

Käyttäkää assertEquals-, assertSame-, assertNull- ja muita väitteitä.

Oppitunti 2/413 vaihetta

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?

Aloita maksutta

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

  1. PHPUnitin käyttöönotto ja ensimmäinen testi
  2. Väitteet ja testimetodit
  3. Tietolähteet parametrisoiduille testeille
  4. Riippuvuuksien mallintaminen PHPUnitilla
← Takaisin: PHP Academy