入参用回调函数代替对象或对象引用,有利于单元测试

这样的一个运行在新线程里的函数:

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来打印测试结果。


猜你喜欢

转载自flxchy4.iteye.com/blog/2024038