Tato stránka popisuje, jak číst výsledky automatických testů ve vašem repozitáři (snímky obrazovky se mohou lehce lišit od vašeho projektu).
Až si otevřete váš předmětový projekt tak uvidíte, že vedle poslední commit zprávy je červená nebo zelená ikonka, které reprezentuje stav projektu.
Kliknutím na ikonu se zobrazí podrobný záznam skutečně provedených testů.
Testy jsou rozděleny do skupin, které vždy odpovídají tématům týkajících se jednoho cvičení.
Můžete tak snadno zjistit celkový stav vašeho řešení a rychle zkontrolovat, zda jste připraveni na další cvičení.
Ať už otevřete kteroukoliv z nich, uvidíte přepis akcí, které za vás GitLab provedl.
Pro nás důležitá část začíná s bin/test.sh následována textem podobným tomu následujícímu.
1..5
ok 1 01/dayname.py - Submitted
ok 2 01/dayname.py - Correct Python script
ok 3 01/dayname.py - Module-ready
not ok 4 01/dayname.py - Works
---
message: |
...
-- Program output mismatch --
output : Hello, World
expected : Friday
--
...
ok 5 01/dayname.py - Some other test # skip No sense in testing this
Tohle je výstup v tzv. Test Anything Protocol
(TAP) který říká, že proběhlo pět testů (1..5
)
a tři z nich byly v pořádku (ok 1 ...
) zatímco jiné selhaly (not ok 4 ...
).
Zpráva pro procházející test je poměrně krátká – říká jen jméno testu
(01/dayname.py - submitted
). Budeme používat tento formát jména testu pro
určení, že soubor je v projektu vůbec přítomen.
Pro selhaný test zpráva obsahuje opět jméno testu (01/dayname.py - Works
)
po kterém následuje popis chyby.
TAP používá syntaxi Pythoních komentářů pro řádky s detaily o chybě (#
)
nebo řádky odsadí.
Zde vidíme, že test očekával nějaký výstup (tj. Friday
), ale naše řešení
vypisuje něco jiného (v tomto příkladu Hello, World
).
Všimněte si, že pátý test byl označen jako ok i když byl test přeskočen. To je trochu nešťastné omezení TAP protokolu, že přeskočené testy více nezdůrazní. Ale důvod je ten, že přeskočený test není obvykle považován za chybu.
To by vám mělo poskytnout dostatek informací k nápravě. V tomto případě byl program napsán v Pythonu, takže ho můžete pochopitelně odladit na svém počítači.
GitLab vám také pošle e-mail vždy, když některá z těchto automatických akcí selže (v terminologii GitLabu jde o pipeline a job). Notifikace lze vypnout, ale nezapomeňte si pak výsledky zkontrolovat ručně.
Ale vždy je můžete pustit lokálně pomocí ./bin/run-tests.sh
a určit, co se
má přesně spustit.
./bin/run-tests.sh # Relevantní testy (toto a minulé cvičení)
./bin/run-tests.sh 01 # Testy ze cvičení 01
./bin/run-tests.sh 04 05 # Testy ze cvičení 04 a 05
./bin/run-tests.sh 06/backup # Testy pro 06/backup.sh