Как протестировать один файл под pytest

Как вы тестируете один файл в pytest? Я мог найти только параметры игнорирования и не проверять "только этот файл" в документах.

Предпочтительно, это будет работать в командной строке вместо setup.cfg, так как я хотел бы запускать различные тесты файлов в ide. Весь пакет занимает слишком много времени.

Ответ 1

просто запустите pytest с путем к файлу

что-то вроде

pytest tests/unit/some_test_file.py

Ответ 2

Это довольно просто:

$ pytest -v /path/to/test_file.py

Флаг -v должен увеличить многословие. Если вы хотите запустить определенный тест в этом файле:

$ pytest -v /path/to/test_file.py::test_name

Если вы хотите запустить тест, имена которого следуют за patter, вы можете использовать:

$ pytest -v -k "pattern_one or pattern_two" /path/to/test_file.py

У вас также есть возможность маркировки тестов, поэтому вы можете использовать флаг -m для запуска подмножества отмеченных тестов.

test_file.py

def test_number_one():
    """Docstring"""
    assert 1 == 1


@pytest.mark.run_these_please
def test_number_two():
    """Docstring"""
    assert [1] == [1]

Для запуска теста, отмеченного с помощью run_these_please:

$ pytest -v -m run_these_please /path/to/test_file.py

Ответ 3

Это сработало для меня:

python -m pytest -k some_test_file.py

Это работает и для отдельных тестовых функций:

python -m pytest -k test_about_something