Skip to content

PHPUnit Locally

DeeKahy edited this page Dec 9, 2024 · 6 revisions

Dette er en guide der gennemgår hvad vi gjorde for at få phpUnit til at virke på Windows. Vær opmærksom på at vi bruger phpStorm som IDE, så ting kan være lidt anderledes for andre IDE’er.

Der er også muligt at det virker for MacOS, men hvis det giver problemer, så kig på den anden guide, der handler om at løse problemerne for M1 og M2 chips.

Alternativ guide: https://moodledev.io/general/development/tools/phpunit ←use this first

  • Start med at download composer installer fra https://getcomposer.org/download/

  • Kør composer install exe filen

  • Vælg “Install for all users”

  • Tryk “Next” uden at sætte flueben ved “Developer mode”

  • Du skal nu finde din php.exe fil

  • Hvis du ikke har php installeret så kan du downloade det som zip fra https://www.php.net/downloads.php

  • Vælg din php.exe fil og tryk “Next”

  • Du behøver ikke bruge en proxy server, så du kan bare trykke “Next” efterfulgt af “Install”

  • Du burde nu have installeret composer. Du skal dog åbne en ny cmd før du kan bruge composer kommandoer

  • Installer phpUnit. Denne guide gør det via composer:

    • Åben en terminal og naviger til moodle-1 eller moodle mappen (Begge virker, men vi ved ikke om der er en “best practice”)
    • Eksekver følgende afhængigt af om Mac/Windows:

Mac:

composer require --dev phpunit/phpunit

Windows:

php composer require --dev phpunit/phpunit

eller

composer require --dev phpunit/phpunit  
  • Det var nødvendigt for os at ændre flere ting i konfigurationsfilen for PHP (php.ini) før vi kunne gå videre.

  • Disse ændringer gøres som følgende

    • Åben php.ini med notepad eller lignende (ligger yderst i mappen for din php installation - dvs IKKE inde i moodle-1 mappen)
    • Aktiver ekstensions:
      • Søg efter følgende udkommenterede extensions og fjern “;” for at aktivere dem (Eksempelvis skal ;extension=zip erstattes med extension=zip). Hvis en extension ikke er der som udkommenteret, så set den bare ind.
        • ;extension=zip
        • ;extension=gd
        • ;extension=intl
        • ;extension=fileinfo
        • ;extension=sodium
        • ;extension=mysqli
      • Naviger til moodle eller moodle-1 mappen i din cmd (Alt efter hvilken du valgte tidligere). Kør “composer install”. Ellers vil phpStorm nok også foreslå dig at gøre det når du prøver at køre en test.
    • Download et CA certificate og brug det:
        • Download CA certifiat her: https://curl.se/docs/caextract.html
          • Læg den downloaded cacert.pem et sted du kan finde den. Vi lagde den i ssl-mappen i vores php-mappe:
            "C:\php-8.3.11-Win32-vs16-x64\extras\ssl\cacert.pem"
          • I php.ini, erstattes ;curl.cainfo = med curl.cainfo = "C:\\php\\extras\\ssl\\cacert.pem”
  • Sæt max_input_vars til 5000:

    • Søg efter max_input_vars i php.ini
    • sørg for at der står max_input_vars = 5000
    • Husk at fjern semicolon
  • Initialiser testmiljø

    • Lav en mappe der hedder “phpunit” inde i moodledata (C:\moodle-1\server\moodledata)
    • Åben config.php filen i moodle-mappen
    • (C:\moodle-1\server\moodle\config.php)
    • Indsæt følgende linjer:
      $CFG->phpunit_prefix = 'phpu_';

$CFG->phpunit_dataroot = 'C:\\moodle-1\\server\\moodledata\\phpunit';

'C:\\moodle-1\\server\\moodledata\\phpunit' skal selvfølgelig være den absolutte sti til din phpunit mappe.

Clone this wiki locally