https://stackoverflow.com/questions/514 ... -in-pythonNapříklad:
Kód: Vybrat vše
assert(2 + 2 == 5, "Houston we've got a problem")
Testy fungují tak, že máš testovací data a na nich provádíš různé věci. Finální podobu těch dat potom otestuješ. Testuješ očekavané data, tedy co očekáváš, že na tom bude, s finální podobou dat.
1) Můžeš například vytáhnout všechny uživatele s tabulky
users a otestovat, zda každý uživatel má jméno.
2) Můžeš třeba vymazat všechny uživatele se jménem
Pavel, vytáhnout si zase všechny uživatele z tabulky a otestovat, zda se nějaký nejmenuje
Pavel.
Testy ale většinou děláš kvůli tomu, že chceš zjistit, zda kód, který jsi napsal, funguje dobře. Dejme tomu, že si tedy napsal v Pythonu vlastní metodu k určité třídě, která vezme 2 parametry, dvě jména, a všechny uživalete, kteří se jmenují prvním jménem přejmenuje na druhé jméno.
Jak by tedy mohl vypadat test pro tuto funkcionalitu:
Kód: Vybrat vše
prvniJmeno = "Honza"
druheJmeno = "Pavel"
# zde si např. pomocí SQL SELECT vybereš všechny uživatele z tabulky
# zde otestuješ, zda se alespoň jeden uživatel jmenuje jako prvniJmeno (tudíž Honza)
# zde zavoláš tvojí metodu Rename, které přejmenuje všechny prvniJmeno na druheJmeno
DbTest.Rename(prvniJmeno, druheJmeno)
# zde si např. pomocí SQL SELECT vybereš všechny uživatele z tabulky
# zde otestuješ, že žádný uživatel se nesmí jmenovat prvniJmeno, musí existovat alespoň jeden uživatel, který se jmenuje druheJmeno
Jedná se o úplně triviální příklad, který ti má přiblížiš princip testování. Testování je důležitá část programování, v jakékoli firmě se většinou na svoji práci píšou testy.
Důvodů je několik:
1) až budeš mít spoustu kódu, tak testovat ručně každý kód se ti časově nevyplatí
2) až svůj kód někomu předáš, tak on nebude zjišťovat jak funguje, on chce akorát vědět, zda projde test
...
V praxi potom testuješ po každé nově přidané funkcionalitě všechny předešlé funkcionality najednou, abys zjistil, zda se ti nějaká nerozbila.