如何在python中模拟main()函数中的对象?
我试图模拟data1和data2,并试图提供一个返回值。 我有以下代码:如何在python中模拟main()函数中的对象?,python,unit-testing,mocking,patch,Python,Unit Testing,Mocking,Patch,我试图模拟data1和data2,并试图提供一个返回值。 我有以下代码: import pandas def main(): data1= pandas.read_excel('path1') data2= pandas.read_excel('path2') if __name__ == '__main__': main() 我得到以下错误: Error Traceback (most recent call last): File "C:\apps\pyt
import pandas
def main():
data1= pandas.read_excel('path1')
data2= pandas.read_excel('path2')
if __name__ == '__main__':
main()
我得到以下错误:
Error
Traceback (most recent call last):
File "C:\apps\python\3.6.2\lib\unittest\case.py", line 59, in testPartExecutor
yield
File "C:\apps\python\3.6.2\lib\unittest\case.py", line 605, in run
testMethod()
File "C:\apps\python\3.6.2\lib\unittest\mock.py", line 1171, in patched
arg = patching.__enter__()
File "C:\apps\python\3.6.2\lib\unittest\mock.py", line 1227, in __enter__
self.target = self.getter()
File "C:\apps\python\3.6.2\lib\unittest\mock.py", line 1397, in <lambda>
getter = lambda: _importer(target)
File "C:\apps\python\3.6.2\lib\unittest\mock.py", line 1080, in _importer
thing = __import__(import_path)
ModuleNotFoundError: No module named 'main'
错误
回溯(最近一次呼叫最后一次):
testPartExecutor中第59行的文件“C:\apps\python\3.6.2\lib\unittest\case.py”
产量
文件“C:\apps\python\3.6.2\lib\unittest\case.py”,第605行,正在运行
testMethod()
文件“C:\apps\python\3.6.2\lib\unittest\mock.py”,第1171行,带补丁
arg=配线。\输入\输入()
文件“C:\apps\python\3.6.2\lib\unittest\mock.py”,第1227行,输入__
self.target=self.getter()
文件“C:\apps\python\3.6.2\lib\unittest\mock.py”,第1397行,在
getter=lambda:\导入器(目标)
文件“C:\apps\python\3.6.2\lib\unittest\mock.py”,第1080行,在导入程序中
thing=\uuuuu导入(导入路径)
ModuleNotFoundError:没有名为“main”的模块
如何解决这个问题,以及如何模拟data1和data2并为其提供返回值?在查看完整代码之前,我不能说太多,但我想在开始时添加
导入UnitTest
就可以了
Error
Traceback (most recent call last):
File "C:\apps\python\3.6.2\lib\unittest\case.py", line 59, in testPartExecutor
yield
File "C:\apps\python\3.6.2\lib\unittest\case.py", line 605, in run
testMethod()
File "C:\apps\python\3.6.2\lib\unittest\mock.py", line 1171, in patched
arg = patching.__enter__()
File "C:\apps\python\3.6.2\lib\unittest\mock.py", line 1227, in __enter__
self.target = self.getter()
File "C:\apps\python\3.6.2\lib\unittest\mock.py", line 1397, in <lambda>
getter = lambda: _importer(target)
File "C:\apps\python\3.6.2\lib\unittest\mock.py", line 1080, in _importer
thing = __import__(import_path)
ModuleNotFoundError: No module named 'main'