Code coverage

andrea.sterbini (167800 points)
488 897 1728
asked Nov 20, 2021 in Programmare in Python by andrea.sterbini (167,800 points)
edited Nov 20, 2021 by andrea.sterbini

Per permettervi di controllare se qualche parte del vostro codice non è stata eseguita dai test, e va controllata a mano, nei prossimi HW aggiungerò nel log di correttezza, la misura della code coverage del programma testato.

Per il momento potete fare questo controllo in locale:

  • installate il plugin pytest-cov (conda install pytest-cov)
  • eseguite i test col plugin attivato ( pytest test_01.py --cov=program01 --cov-report=html )
  • visualizzate il report (firefox htmlcov/index.html)
  • le righe marcate di rosso non sono state eseguite da nessun test e vanno controllate a mano (potrebbero essere eseguite in altri test)

1 Answer

S
S3b4stian82 (2200 points)
3 6 27
answered Nov 20, 2021 by S3b4stian82 (2,200 points)
Prof.

Se potesse aggiungere anche quanta memoria utilizza lo script in esecuzione, sarebbe interessate!
andrea.sterbini (167800 points)
488 897 1728
commented Nov 20, 2021 by andrea.sterbini (167,800 points)

Per quello c'è pytest-memprof (pip install pytest-memprof)

Si usa aggiungendo a pytest il parametro --memprof-top-n=<numero di voci da mostrare>

Non credo che lo aggiungerò, che non do nessun bonus per chi usa meno memoria.

Inoltre le stime che fa sono molto molto variabili.

S
S3b4stian82 (2200 points)
3 6 27
commented Nov 20, 2021 by S3b4stian82 (2,200 points)
Perfetto, grazie!