我正在对使用其他函数声明的变量的函数进行单元测试。
def first_fun():
global file_path
file_path = get_file_path()
.
.
def second_fun():
with open(file_path, "r") as flz:
.
.
如何在测试second_fun()时模拟file_path? 我尝试了这个但是没有用。
@patch.object(source_module, 'file_path')
def test_second_fun(self):
source_module.second_fun()
我继续......没有属性'file_path'
答案 0 :(得分:0)
需要考虑两件事:
首先:
显式优于隐式
在这种情况下,file_path应该是一个函数参数。
第二: 为了使您的测试成为单元测试,您应该修补open()而不是路径,因为您不应该依赖外部资源。