UTX 模块如何重载 unittest.TestCase 元类
- 可以通过设置
utx.config(TEST_CASE_METACLASS=MyMeta)来直接修改unittest.TestCase的元类。 utx.config(TEST_CASE_METACLASS=MyMeta)的意思是将unittest.TestCase的元类设置为MyMeta。- 因为 UTX 模块中重载了
unittest.TestCase的元类,所以导入 UTX 模块后可以重载unittest.TestCase。 - 导入 UTX 模块时会自动使用 UTX 模块中的元类来创建测试用例类,因为 UTX 模块中已经重载了
unittest.TestCase的元类。 utx/__init__.py文件中的代码会重载unittest.TestCase的元类。utx.case.CaseMeta是 UTX 模块中重载unittest.TestCase元类的实现。- 重载
unittest.TestCase的代码是在utx/__init__.py文件中的代码,通过设置unittest.TestCase的元类为utx.case.CaseMeta来实现。 - 重写
unittest.TestCase元类的代码为:
class MyMeta(type):
def __new__(cls, name, bases, attrs):
# 在此处重写 unittest.TestCase 的元类
return super().__new__(cls, name, bases, attrs)
原文地址: https://www.cveoy.top/t/topic/jqoL 著作权归作者所有。请勿转载和采集!