Я новичок в pytest и пытаюсь написать тестовые модули для моего приложения.Моя структура каталогов:
broker/
broker/tests
broker/tests/conftest.py
broker/tests/test_db.py
broker/db.py
Я хочу протестировать модуль db.py.
Я настраиваю pycharm для использования pytest в качестве моего бегуна.Когда я запускаю test_db.py в pycharm, я получаю:
/Users/cbogdon/virtualenv/platinum-onboard/bin/python /Users/cbogdon/coding/platinum-onboard/broker/tests/test_db.py
Process finished with exit code 0
Это похоже на то, что pycharm не выполняет pytest.Даже если я щелкну правой кнопкой мыши зеленую стрелку слева от одной из моих функций тестирования, появится меню, показывающее, что я могу нажать: «Выполнить» pytest для test_db.py::TestDBFunctions::test_valid_db'"
ЕслиЯ запускаю его в командной строке, используя:
python -m pytest --setup-show tests/test_db.py
Я получаю соответствующий тестовый вывод.
python -m pytest --setup-show tests/test_db.py
========================================================== test session starts ===========================================================
platform darwin -- Python 3.6.1, pytest-4.1.1, py-1.7.0, pluggy-0.8.1
rootdir: /Users/cbogdon/coding/platinum-onboard/broker, inifile:
collected 4 items
tests/test_db.py
tests/test_db.py::TestDBFunctions::test_uuid.
tests/test_db.py::TestDBFunctions::test_invalid_dbF
tests/test_db.py::TestDBFunctions::test_valid_db.
tests/test_db.py::TestDBFunctions::test_already_created_database.
================================================================ FAILURES ================================================================
____________________________________________________ TestDBFunctions.test_invalid_db _____________________________________________________
self = <test_db.TestDBFunctions object at 0x102606438>
def test_invalid_db(self):
> ret = db.initialize_database()
E TypeError: initialize_database() missing 1 required positional argument: 'dbname'
tests/test_db.py:14: TypeError
=================================================== 1 failed, 3 passed in 0.08 seconds ==================================================
Есть ли что-то особенное, что мне нужно сделать в PyCharm?
Извините за вопрос новичка, но я просто не могу понять это!