在Python中更改单元测试的顺序


问题内容

如何使Python中的单元测试(使用unittest)按文件中指定的顺序运行?


问题答案:

您可以通过设置自定义比较功能来更改默认的排序行为。在unittest.py中,您可以找到默认情况下unittest.TestLoader.sortTestMethodsUsing设置为内置函数的类变量cmp

例如,您可以执行以下操作来还原测试的执行顺序:

import unittest
unittest.TestLoader.sortTestMethodsUsing = lambda _, x, y: cmp(y, x)