2015-02-21 3 views
0

У меня есть эта структура.py.test main() примеры вызова

/bin 
    __init__.py 
    run_test.py (call pytest.main) 
/tests 
    __init__.py 
    test_xyz.py 

Если я позвоню run_test.py используя просто через pytest.main(), он не будет вызывать тесты в модуле «испытаний». Я попытался передать пару параметров, таких как module = "tests" и т. Д., Но они не работают. Я должен полностью открыть автоматическое обнаружение и использовать параметр набора для его получения любых тестов.

Что мне не хватает? Я попытался пройти код в модуле pytest, но это слишком сложно понять. И документация очень плохая.

ответ

0

Вы можете передать полный путь выполнения.

import pytest 

pytest_args = [ 
    '/tests', 
    # other tests here... 
] 
pytest.main(pytest_args) 

Это будет выполнять все тесты, найденные в каталоге, нет необходимости иметь /tests/__init__.py

Смежные вопросы