gpt4 book ai didi

python - 如何解决单元测试导入错误

转载 作者:太空宇宙 更新时间:2023-11-03 13:38:51 26 4
gpt4 key购买 nike

当我运行时:

python -m unittest discover unit_tests

python setup.py 测试

我收到很多关于 blowdrycss projectImportErrors .

示例:

test_BreakpointParser (unittest.loader._FailedTest) ... ERROR
test_classExtractor (unittest.loader._FailedTest) ... ERROR
test_classPropertyParser (unittest.loader._FailedTest) ... ERROR
test_colorParser (unittest.loader._FailedTest) ... ERROR
test_CSSBuilder (unittest.loader._FailedTest) ... ERROR
test_CSSFile (unittest.loader._FailedTest) ... ERROR
test_CSSPropertyValueParser (unittest.loader._FailedTest) ... ERROR
...
ImportError: No module named 'settings'
ImportError: No module named 'blowdrycss_settings'
ImportError: No module named 'blowdrycss.blowdrycss_settings'
ImportError: No module named 'utilities'
ImportError: No module named 'breakpointparser'

项目结构:

blowdrycss/
blowdrycss/
settings/
__init__.py
blowdrycss_settings.py
unit_tests/
__init__.py
test_BreakpointParser.py
test_*.py
...
__init__.py
blowdrycss.py
breakpointparser.py
utilities.py
...

奇怪的是,当我从 PyCharm 运行这些测试时,一切都通过了,但是当我从命令行运行时,它就中断了。

也许这是一个简单的配置问题,但我不确定我做错了什么。

如何解决这些导入错误?

最佳答案

存在多个问题。

主要问题是 blowdrycss.py 与包同名。这导致 python 导入器感到困惑。

blowdrycss.py 的名称更改为 blowdry.py 有帮助。

问题的另一半是当前工作目录没有被添加到 PYTHONPATH。我通过将以下行添加到 __init__.py 来修复此问题:

cwd = os.getcwd()
sys.path.insert(0, cwd)

关于python - 如何解决单元测试导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35208741/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com