Questo è abbastanza semplice:
$ pytest -v /path/to/test_file.py
La bandiera -v
è quello di aumentare la verbosità. Se si desidera eseguire un test specifico all'interno di quel file:
$ pytest -v /path/to/test_file.py::test_name
Se si desidera eseguire test che nomi seguono un picchiettio è possibile utilizzare:
$ pytest -v -k "pattern_one or pattern_two" /path/to/test_file.py
Hai anche la possibilità di marcatura test, quindi puoi utilizzare il flag -m
per eseguire un sottoinsieme di test contrassegnati.
test_file.py
def test_number_one():
"""Docstring"""
assert 1 == 1
@pytest.mark.run_these_please
def test_number_two():
"""Docstring"""
assert [1] == [1]
Per eseguire il test contrassegnati con run_these_please
:
$ pytest -v -m run_these_please /path/to/test_file.py
Ok, questo sembra essere quello PyCharm sta facendo ma è ancora in esecuzione l'intera suite. L'esecuzione di py.test sulla riga di comando sta dando segfault per qualche motivo. Suppongo che questo non rientri nella portata della domanda originale, quindi accetterò la tua risposta se riuscirò a farlo funzionare. – simonzack
Apparentemente 'addopts' in setup.cfg sta dando problemi se il percorso viene aggiunto lì. – simonzack
@simonzack Immagino che vogliate eseguire un singolo test case su più test case presenti nel file. Prova questo: py.test test_basic.py -k test_first qui test_first è un caso di test presente nel mio file test_basic.py. –