我正在尝试编写单元测试。我的单元测试文件是test_file。我的主要代码在一个文件(main_file.py)中,它有一个类定义和几个方法。我的所有文件都在同一个目录中,所以我的树结构如下:
├── main_file.py
├── __init__.py
├── test_file.py
在我的main_file中,我有一个类名my_class并且有方法send_request。
在我的测试文件中,我试图导入要使用的方法:from main_file import send_request
当我运行我的单元测试(python test_file.py)或甚至使用nosetests时它会一直抛出错误:ImportError:没有名为main_file的模块
我的init.py只是空的。
导入文件时,如果它在类中,则需要导入CLASS而不仅仅是方法。所以你需要这样做:
from main_file import my_class
而不是在类中导入函数。然后,当你打电话给班级时,你可以做一些事情
my_class.send_request()
当你在新的.py中调用该函数时
如您所知,您可以通过执行以下操作从main_file导入所有类和模块:
import main_file
from main_file import *
这将为您提供所有类/功能,虽然这可能不是您正在寻找的。
除此之外,我会确保它们全部在同一个目录中,如果它仍然失败,我通常只将所有内容保存到我的“downloads”文件夹中。当所有其他方法都失败时,它就会起作用。
你必须导入类才能使用该方法
from main_file import my_class
from my_class import FUNCTION_NAME or from my_class import *