进参用回调函数代替对象或对象引用,有利于单元测试
入参用回调函数代替对象或对象引用,有利于单元测试
这样的一个运行在新线程里的函数:
def my_func(args,obj):
response = request(args)
obj.fun1(reponse.pra1)
obj.fun2(reponse.pra2)
obj.fun3(reponse.pra3)
笔者觉得这样不太好做my_func的单元测试,因为它受obj的影响太大。不如用回调函数,像这样:
def my_func(args,callback):
response = request(args)
callback(response)
这样的话单元测试时可以简单地通过修改callback来打印测试结果。
这样的一个运行在新线程里的函数:
def my_func(args,obj):
response = request(args)
obj.fun1(reponse.pra1)
obj.fun2(reponse.pra2)
obj.fun3(reponse.pra3)
笔者觉得这样不太好做my_func的单元测试,因为它受obj的影响太大。不如用回调函数,像这样:
def my_func(args,callback):
response = request(args)
callback(response)
这样的话单元测试时可以简单地通过修改callback来打印测试结果。