Pytest 模块未找到错误

2023-12-11

即使我使用 Python 工作这么久,我仍然偶尔会遇到包结构的问题。

我正在尝试跑步$ pipenv run pytest从下面的目录结构的根(即..上面 src/)

src/
   physics/
      __init__.py
      pathing.py
   road/
      tests/
          __init__.py
          test_traffic.py
      __init__.py
      traffic.py
   __init__.py
   main.py

交通.py:


    from physics import pathing

    class Intersection():
        ...

    class Vehicle():
        ...

测试流量.py


    from src.road.traffic import Intersection, Vehicle

    def test_intersection():
        ...

然而,我受到以下打击:

======================================================================= ERRORS ========================================================================
___________________________________________________ ERROR collecting src/road/tests/test_traffic.py ___________________________________________________
ImportError while importing test module '/Users/justian/scripts/py-traffic-sim/src/road/tests/test_traffic.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
src/road/tests/test_traffic.py:1: in <module>
    from src.road.traffic import Intersection, Vehicle
src/road/traffic.py:13: in <module>
    from physics import pathing
E   ModuleNotFoundError: No module named 'physics'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
================================================================== 1 error in 0.38s ===================================================================

看起来我误解了 pytest 如何导入我的模块,或者误解了我的模块如何相互引用。两个都$ pipenv run pytest and $ pipenv run python -m pytest产生相同的结果。

我怎样才能正确导入Intersection and Vehicle进入 test_traffic.py?


去除__init__.py文件来自src.

e.g.

src/
   physics/
      __init__.py
      pathing.py
   road/
      tests/
          __init__.py
          test_traffic.py
      __init__.py
      traffic.py
   __init__.py    # Remove this one
   main.py
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pytest 模块未找到错误 的相关文章

随机推荐