我正在尝试编写单元测试。我的单元测试文件是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只是空的。
答案 0 :(得分:1)
导入文件时,如果是在类中,则需要导入CLASS而不仅仅是方法。所以你需要这样做:
from main_file import my_class
而不是在类中导入函数。然后,当你打电话给班级时,你可以做一些事情,比如
my_class.send_request()
在新的.py
中调用该函数时如您所知,您可以通过执行以下操作从main_file导入所有类和模块:
import main_file
from main_file import *
这也将为您提供所有类/功能,尽管这可能不是您想要的。
除此之外,我会确保它们全部在同一目录中,如果它仍然失败,我通常会将所有内容保存到我的“downloads”文件夹中。当所有其他方法都失败时,它就会起作用。
答案 1 :(得分:0)
你必须导入类才能使用方法
from main_file import my_class
from my_class import FUNCTION_NAME or from my_class import *