Testaus - TiViOpetus/Autolainaus GitHub Wiki

Sovelluksen testaaminen

Testit on sijoitettu omaan kansioon tests. Silloin, kun testit sijaitsevat muualla kuin juurikansiossa, testikansioon luodaan __init__.py-tiedosto, jotta Python-tulkki löytää tiedostot. Projektissa käytetään testaamiseen pytest-kirjaston työkaluja. Testausympäristö on määriteltävä ennen testien kirjoittamista. Jos määritystä ei kysytä automaattisesti, annetaan komento ctrl + shift + P ja syötetään hakuikkunaan Python: Configure Tests. Testauskirjastoksi valitaan Pytest ja testaushakemistoksi tests-kansio. Joskus saatetaan joutua asentamaan testauskirjasto uudelleen. Se tapahtuu komennolla pip install pytest.

Testien kirjoittaminen

Testiä varten luodaan Python-tiedosto. Esim. kun testataan moduulin cipher.py toimintoja luodaan tiedosto test_cipehr.py. Testitiedostonjen nimen pitää alkaa test_-alkuliitteellä (prefix). Yksikkötestit (unit test) ovat funktioita, joiden nimi alkaa myös test_-alkuliitteellä. Seuraavassa esimerkissä on cipher.py-moduulin testejä:

# CIPHER.PY -MODUULIN YKSIKKÖTESTIT
# =================================

import pytest # Järjestelmätason virheiden testaus
from lendingModules import cipher # Testattavan moduulin lataus

# Tehdään testaamista varten salakirjoitettu teksti
plainText = b'Selkokieliteksti'
key = b'-SsqnFWfgh2pX_nnnOjiCXDH3LN9lmyhSd9SUt6S2HM='
cipherEngine = cipher.createChipher(key)
cryptoText = cipher.encrypt(cipherEngine, plainText)

# Testataan, että salakirjoitettu teksti muuttuu takaisin selkokieliseksi
def test_decrypt():
    assert cipher.decrypt(cipherEngine, cryptoText, True) == plainText