Laravel PHPunit in PHPStorm op een Docker omgeving

Artikel hoe je de PHPunit testen van je Laravel project kan uitvoeren in PHPStorm op een Docker omgeving.

CLI Interpreter

Ga naar de settings (Windows: ctrl + alt + s) in PHPStorm.
Bij ‘PHP’ klik op de 3 puntjes om een CLI Interpreter toe te voegen.

Klik op de ‘+’ button

Kies daar de optie: ‘From Docker, Vagrant, VM, WSL, Remote..’

In het volgende venster:

  • Kies ‘Docker’ bij de radio button’
  • Bij ‘Image name’, zoek hier je PHP Docker container op
  • Klik daarna op de button ‘OK’

Er verschijnt nu een scherm met de instellingen, hier doe ik geen aanpassingen en klik op de button ‘OK’

PHPunit

Ga naar de settings (Windows: ctrl + alt + s) in PHPStorm.
Klik onder op de ‘+’ button onder ‘PHP’ op ‘Test frameworks’

Klik op het volgende venster de optie ‘PHPunit by Remote Interpreter’.
Kies op het volgende scherm de net aangemaakte interpreter, bij mij:

Daarna klik je op de button ‘OK’.

Docker container settings

Als we een test willen doen (met Mysql) krijg ik een foutmelding: “php_network_getaddresses: getaddrinfo failed: Try again (SQL: SHOW FULL TABLES WHERE table_type = ‘BASE TABLE’)”
Je kan dit oplossen door de bridge container naam van je project in te stellen.

Je kan de default bidge naam vinden via de CLI,

docker network ls

Klik op het mapje naast ‘Docker container:’

Vul bij ‘Network mode: de default bridge container naam in:

Test runnen

je zou nu een test kunnen runnen, bijvoorbeeld:

public function test_example()
    {
        $this->assertTrue(true);
    }

Klik op het groene driehoekje en kies de optie Run ‘test_example’ om de test te draaien.