Jak przetestować pojedynczy plik w pytest? Mogłem tylko znaleźć opcje ignorowania i brak opcji „testuj tylko ten plik” w dokumentach.
Najlepiej byłoby, gdyby działało to w wierszu poleceń zamiast setup.cfg
, ponieważ chciałbym uruchomić różne testy plików w IDE. Cały pakiet trwa zbyt długo.
addopts
w setup.cfg powoduje problemy, jeśli ścieżka jest tam dodana.To jest całkiem proste:
-v
Flaga jest zwiększenie szczegółowości. Jeśli chcesz uruchomić konkretny test w tym pliku:Jeśli chcesz uruchomić test, które nazwy podążają za wzorcem, możesz użyć:
$ pytest -v -k "pattern_one or pattern_two" /path/to/test_file.py
Masz również możliwość oznaczania testów, więc możesz użyć
-m
flagi do uruchomienia podzbioru oznaczonych testów.plik_testowy.py
def test_number_one(): """Docstring""" assert 1 == 1 @pytest.mark.run_these_please def test_number_two(): """Docstring""" assert [1] == [1]
Aby przeprowadzić test oznaczony
run_these_please
:źródło
path/to/test.py::test_method
, dostałem błąd> BŁĄD: nie znaleziono: /home/namgivu/NN/code/myproject/tests/models/test_bill.py::test_generate_for_today_normal_cycle (no name '/ home / namgivu / NN / code / myproject / tests / models /test_bill.py::test_generate_for_today_normal_cycle 'w dowolnym z [<Module' tests / models / test_bill.py '>])-k my_test[a test id here]
nie działa, a najlepszym, jakim do tej pory udało mi się,-k "my_test and a and test and id and here"
jest format mało przyjazny.To zadziałało dla mnie:
Działa to również dla poszczególnych funkcji testowych:
źródło
pytest directory_to_tests/some_test_file.py
nie działa dla mnie. Jestem na Windowsie Python 3.8.2 i pytest 6.0.1