如何解决unittest的重要问题

2024-05-13 15:51:50 发布

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

当我跑步时:

python -m unittest discover unit_tests

或者

python setup.py test

我收到了很多关于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运行这些测试时,一切都通过了,但是当我从命令行运行时,它就中断了。

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

我该如何解决这些问题?


Tags: nopytestsettingsinittestsuniterror
1条回答
网友
1楼 · 发布于 2024-05-13 15:51:50

有很多问题。

主要问题是blowdrycss.py与包同名。这导致python导入程序混乱。

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

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

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

相关问题 更多 >