PHP Academy · Oppitunti

PHPUnitin käyttöönotto ja ensimmäinen testi

Asentakaa PHPUnit Composerilla ja kirjoittakaa ensimmäinen testiluokkanne.

Oppitunti 1/413 vaihetta

PHPUnitin käyttöönotto ja ensimmäinen testi on ilmainen PHP Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/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.

Mikä PHPUnit on?

PHPUnit on PHP:n standardi yksikkötestauskehys. Sen avulla voitte kirjoittaa automatisoituja testejä, jotka varmistavat koodin yksittäiset yksiköt erillään muusta koodista.

PHPUnitin asentaminen

Asentakaa PHPUnit Composerilla kehitysriippuvuutena.

$ composer require --dev phpunit/phpunit "^11.0"

phpunit.xml-määritykset

Luokaa phpunit.xml-tiedosto testijoukon määrittämistä varten.

<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
         bootstrap="vendor/autoload.php">
    <testsuites>
        <testsuite name="Unit">
            <directory>tests/</directory>
        </testsuite>
    </testsuites>
</phpunit>

Testiluokan kirjoittaminen

Laajentakaa PHPUnit\Framework\TestCase-luokkaa. Jokainen test-etuliitteellä alkava julkinen metodi on testi.

<?php
use PHPUnit\Framework\TestCase;

class CalculatorTest extends TestCase
{
    public function test_addition(): void
    {
        $calc = new Calculator();
        $this->assertEquals(5, $calc->add(2, 3));
    }
}

Testattava luokka

Testattava Calculator-luokka:

<?php
class Calculator
{
    public function add(int $a, int $b): int
    {
        return $a + $b;
    }
}

Testien suorittaminen

Suorittakaa PHPUnit projektin juurihakemistosta.

$ vendor/bin/phpunit
...
OK (1 test, 1 assertion)

Testien nimeämiskäytännöt

Kaksi tyyliä: test_method_name() (snake_case ja test-etuliite) tai @test-annotaation käyttäminen ilman etuliitettä.

<?php
/** @test */
public function addition_returns_correct_sum(): void
{
    $this->assertEquals(5, (new Calculator())->add(2, 3));
}

Hakemistorakenne

Yleinen rakenne: tests-hakemisto peilaa src-rakennetta.

src/Calculator.php       → Calculator
tests/CalculatorTest.php → CalculatorTest

setUp() ja tearDown()

Suorittakaa koodia ennen jokaista testimetodia ja sen jälkeen. Luokaa testattava olio setUp()-metodissa.

<?php
protected function setUp(): void
{
    $this->calc = new Calculator();
}

public function test_add(): void
{
    $this->assertEquals(7, $this->calc->add(3, 4));
}

setUpBeforeClass() ja tearDownAfterClass()

Suorittakaa koodi kerran ennen luokan kaikkia testejä ja niiden jälkeen — tämä on hyödyllistä kalliissa alustustoimissa, kuten tietokantayhteyksien luonnissa.

Koodikattavuus

Luokaa kattavuusraportti (vaatii Xdebugin tai PCOV:n):

$ vendor/bin/phpunit --coverage-html coverage/

Yhteenveto

Asentakaa PHPUnit Composerin kehitysriippuvuutena. Luokaa TestCase-aliluokka, jossa on test_*()-metodeja. Suorittakaa testit komennolla vendor/bin/phpunit. Käyttäkää setUp()-metodia jaettujen testattavien olioiden luomiseen.

Pikatarkistus

Mitä kantaluokkaa PHPUnit-testiluokkien on laajennettava?

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 ”PHPUnitin käyttöönotto ja ensimmäinen testi” ilmainen?

Kyllä – oppitunnin ”PHPUnitin käyttöönotto ja ensimmäinen testi” 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 ”PHPUnitin käyttöönotto ja ensimmäinen testi”?

Asentakaa PHPUnit Composerilla ja kirjoittakaa ensimmäinen testiluokkanne. 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 1/4.

Kuinka kauan ”PHPUnitin käyttöönotto ja ensimmäinen testi”-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