Lisätty invoke komennot
This commit is contained in:
parent
83fd8ea522
commit
71a6426028
8 changed files with 26 additions and 6 deletions
|
@ -1,3 +1,3 @@
|
|||
[run]
|
||||
source = src
|
||||
omit = src/main.py,src/**/__init__.py,src/tests/**,src/ui.py,src/musiikki_generaattori.py
|
||||
omit = src/main.py,src/**/__init__.py,src/tests/**,src/ui.py
|
||||
|
|
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -128,6 +128,5 @@ dmypy.json
|
|||
# Pyre type checker
|
||||
.pyre/
|
||||
|
||||
# Ignore ceratin MIDI-files
|
||||
# Ignore certain MIDI-files
|
||||
/*.mid
|
||||
/src/**/*.mid
|
||||
|
|
|
@ -13,7 +13,7 @@ Ohjelman vaatimat kirjastot voi asentaa komennolla
|
|||
|
||||
Ohjelma on nyt valmis käytettäväksi
|
||||
|
||||
`python3 src/main.py`
|
||||
`invoke start`
|
||||
|
||||
# Opetusdata
|
||||
Opetusdataksi kelpaa mikä tahansa MIDI-tiedosto, mutta itse olen käyttänyt MuseScore-palvelua tietyillä [hakukriteereillä](https://musescore.com/sheetmusic?instrument=2&instrumentation=114&license=to_share&recording_type=public-domain). Ainoa rajoitus on se, että ohjelma jättää huomiotta molli-sävellajeissa (minor key signature) olevat osat. Laadun parantamiseksi jokaisessa MIDI-tiedoston raidassa ("track") olisi hyvä olla vain yksi melodia. Edellä olevasta linkistä löytyvät tiedostot ovat olleet sopivia, joten se on varma valinta, jos olet epävarma.
|
||||
|
|
|
@ -8,16 +8,19 @@ Automaattinen yksikkötestaus on toteutettu pytest-kirjastolla ja testikattavuud
|
|||
### Ohjeet
|
||||
Ennen testien suorittamista tulee pytest- ja coverage-kirjastot olla asennettuna käytössä olevassa ympäristössä. Testit saa suoritettua kommennolla
|
||||
|
||||
`pytest src`
|
||||
`invoke test`
|
||||
|
||||
projektin juurikansiosta. Testikattavuusraportin voi luoda juurikansiosta komennolla
|
||||
|
||||
` coverage run --branch -m pytest src && coverage html`
|
||||
`invoke coverage-report`
|
||||
|
||||
Tämän jälkeen raportti löytyy tiedostosta `htmlcov/index.html`.
|
||||
|
||||

|
||||
|
||||
Koodin laadun automaattinen "testaus" on toteutettu pylintillä:
|
||||
`invoke lint`
|
||||
|
||||
## Subjektiivinen testaus
|
||||
Viikko 4: Generoin koodin nykyisellä versiolla 4:nnen asteen Markovin ketjulla lyhyen melodian. Vertailukohtana generoin täysin sattumanvaraisen melodian. Mielestäni ero on huomattava, varsinkin kun otetaan huomioon Markovin ketjujen yksinkertaisuus.
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ attrs==22.1.0
|
|||
coverage==6.4.4
|
||||
dill==0.3.5.1
|
||||
iniconfig==1.1.1
|
||||
invoke==1.7.3
|
||||
isort==5.10.1
|
||||
lazy-object-proxy==1.7.1
|
||||
mccabe==0.7.0
|
||||
|
|
BIN
src/tests/testiMidi.mid
Normal file
BIN
src/tests/testiMidi.mid
Normal file
Binary file not shown.
BIN
src/tests/testiMidi2.mid
Normal file
BIN
src/tests/testiMidi2.mid
Normal file
Binary file not shown.
17
tasks.py
Normal file
17
tasks.py
Normal file
|
@ -0,0 +1,17 @@
|
|||
from invoke import task
|
||||
|
||||
@task
|
||||
def start(ctx):
|
||||
ctx.run("python3 src/main.py", pty=True)
|
||||
|
||||
@task
|
||||
def lint(ctx):
|
||||
ctx.run("pylint src", pty=True)
|
||||
|
||||
@task
|
||||
def test(ctx):
|
||||
ctx.run("pytest src", pty=True)
|
||||
|
||||
@task
|
||||
def coverage_report(ctx):
|
||||
ctx.run("coverage run --branch -m pytest src && coverage html", pty=True)
|
Reference in a new issue