gpt4 book ai didi

python - 如何从python中的unittest导入一个类?

转载 作者:太空狗 更新时间:2023-10-29 22:16:21 24 4
gpt4 key购买 nike

我有一个关于 Python 和单元测试的非常基本的问题。

我有一个这样的目录结构。

Project
|
|-lib
|
|-__init__.py
|-class.py
|
|-tests
|
|-__init__.py
|-test_class.py

现在这是我的 test_class.py 的内容。如果我从根文件夹导入 lib.class,它工作正常。但是,如果我从其他地方导入文件,它就不起作用了。


import unittest
from lib.class import Class

class TestClass(unittest.TestCase):
def testClass(self):
// do some test

def main():
unittest.main()

if __name__ == '__main__':
main()

当我运行测试时我得到了这个错误


Traceback (most recent call last):
File "tests/test_class.py", line 2, in
from lib.class import Class
ImportError: No module named lib.class

不确定如何从不是根文件夹的另一个文件夹导入文件。

最佳答案

更好的解决方案是创建一个 virtualenv 并以开发人员模式安装项目。这使您无需重新安装即可修改和执行代码。

virtualenv venv
source venv/bin/activate
pip install -e .

在测试中,您现在只需包含 fqdn。

from project.lib.class import Class

请记住,您需要使用 setuptools正确定义项目。

关于python - 如何从python中的unittest导入一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15351546/

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