如何测试python中几个函数的执行顺序?

How to test the execution order of several functions in python?

我有几个更新功能。他们必须按照严格的顺序执行。

例如

def update1(a1):
  do_something...

def update2(a1, a2):
  do_something...

def update3(a1):
  do_something...


def process(a,b):
  update1(a)
  update2(a,b)
  update3(a)

process 中,所有 update 函数必须按该顺序执行。

如何编写单元测试来测试内部执行的顺序 process?


我不是在问测试的执行顺序不是这样的问题

Python unittest.TestCase execution order

Execution order on python unittest

问问自己这个问题,"why is the order important?" 如果您不能从外部分辨出调用的区别,则不必测试它们。 例如,如果这些是数据库更新,您必须编写一个数据库模型来记录更新的顺序,或者制作一个 select 语句,它可以检查更新是否以正确的顺序发生。