本文介绍了更改 Python 中单元测试的顺序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

How can I make it so unit tests in Python (using unittest) are run in the order in which they are specified in the file?

推荐答案

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

You can change the default sorting behavior by setting a custom comparison function. In unittest.py you can find the class variable unittest.TestLoader.sortTestMethodsUsing which is set to the builtin function cmp by default.

例如,您可以通过执行以下操作来恢复测试的执行顺序:

For example you can revert the execution order of your tests with doing this:

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

这篇关于更改 Python 中单元测试的顺序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-23 19:19