Я новичок в python и пытаюсь написать тест для своего первого приложения. простая структура приложения:pytest «Без модуля с именем» error
- app
- tests
__init__.py
- test_main.py
- __init__.py
- main.py
main.py
содержит main_func
test_main.py:
from main import main_func
def test_check():
assert main_func() is True
Если я запустить тест вручную, с помощью команды pytest
в app
каталоге - есть это ошибка:
C:\Users\*****\PycharmProjects\checker3>pytest
============================= test session starts =============================
platform win32 -- Python 3.5.2, pytest-3.0.3, py-1.4.31, pluggy-0.4.0
rootdir: C:\Users\*****\PycharmProjects\app, inifile:
collected 0 items/1 errors
=================================== ERRORS ====================================
_____________________ ERROR collecting tests/test_main.py _____________________
ImportError while importing test module 'C:\Users\*****\PycharmProjects\app\tests\test_main.py'.
Original error message:
'No module named 'main''
Make sure your test modules/packages have valid Python names.
!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!
=========================== 1 error in 0.14 seconds ===========================
имена пакетов являются правильными. Кроме того, я использую IDE PyCharm
и не отслеживает ошибку пакета импорта.
Кроме того, когда я выполняю конфигурацию теста pytest с помощью IDE - тест работает.
Вам нужна пустая '__init __. Py' в папке' tests'. – 2ps
я был, удален. Просто добавлено сейчас - ничего не изменилось – user1935987
работал как шарм –