Pytest测试集合失败,出现导入错误,尽管执行测试文件可以正常工作

2024-06-17 09:55:56 发布

您现在位置:Python中文网/ 问答频道 /正文

一位同事刚刚删除了我们的大型文件回购协议,我们都去掉了旧的回购协议,克隆了新的回购协议。你知道吗

发生这种情况后,Pytest在测试集合处开始失败,并出现导入错误(但仅将文件作为Python文件运行不会出现此导入错误)。你知道吗

以下是我的目录结构的简化版本:

cookiecutter_mbam
|
|__cookiecutter_mbam
|  |
|  |__ __init__.py
|  |
|  |__xnat
|     |
|     |__ __init__.py
|     | 
|     |__ tasks.py
|    
|__tests
   |
   |__ __init__.py
   |
   |__unit_tests
      |
      |__ __init__.py
      |
      |__xnat
         |
         |__ .pytest_cache
         |
         |_ __init__.py 
         |
         |_ test.py

当我导航到tests/unit\u tests/xnat并运行pytest test.py时,我得到以下错误:

ImportError while importing test module '/Users/katie/spiro/mbam/cookiecutter_mbam/tests/unit_tests/xnat/test.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
test.py:8: in <module>
    from cookiecutter_mbam.xnat.tasks import *
E   ModuleNotFoundError: No module named 'cookiecutter_mbam'

当我导航到我的旧repo(现在在垃圾箱中)并在那里尝试时,测试集合工作正常。我真的很难看出有什么不同。旧的repo有一个不同的自动生成的pytest缓存目录:__pycache__。我不知道这是不是线索。你知道吗


Tags: 文件pytest目录协议initpytest错误