如何在python中模拟main()函数中的对象?

如何在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

我试图模拟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\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'