Repo for bachelor SOI-tool
Forutsetninger
Python 3.7
Pip 20.0
- Windows 10 eller Ubuntu 18.04. Merk at flesteparten av gruppen arbeider på Windows 10
Oppsett med virtual environment
# initialiser virtual environment
python -m venv venv
# aktiver virtual environment (Windows)
./venv/Scripts/activate
# aktiver virtual environment (Ubuntu, ikke testet)
./venv/bin/activate
# sikre at venv har riktige versjoner av kritiske innebygde pakker
# (kanskje unødvendig)
# dette blir gjort fordi default gir pip-18, som gir errormeldinger.
# Se https://bugs.python.org/issue30628
python -m pip install pip=='20.0' setuptools=='45.2' wheel=='0.34'
# installer pakker
pip install -r requirements.txt
# ...jobb med koden...
# for å deaktivere virtual environment
deactivate
Linting
Sjekk av kodekvalitet gjøres med scriptet "CodeQualityCheck" i script-mappa, og er skrevet i Powershell(.ps1) og Bash(.sh). Scriptet kjører Pylint med .pylintrc-fil, Flake8, Bandit og pydocstyle. Man kan gi scriptet spesifikke .py-filer, hvis ikke sjekker den alle .py-filer.
Terminal kjøres fra root:
-
Sjekk alle .py:
.\scripts\CodeQualityCheck.ps1
eller./scripts/CodeQualityCheck.sh
-
Sekk spesifikk(e) .py:
.\scripts\CodeQualityCheck.ps1 filEn.py filTo.py
Testing
Tester er skrevet med unittest
modulen, og ligger i mappen test
.
- For å kjøre alle tester:
python -m unittest
- For å kjøre en enkelt test modul (fil i
test
mappen):python -m unittest test.<navnet_til_modulen>
- For å kjøre en enkelt test metode (fil i
test
mappen):python -m unittest test.<navnet_til_modulen>.<navnet til klassen>.<navnet til metoden>
Generering av kodedokumentasjon
Gjøres med pdoc3:
-
pdoc3 --html --output-dir .\docs .\soitool\main.py
-
Uten kildekode:
pdoc3 --html --config show_source_code=False --output-dir .\docs\ .\soitool\main.py