gpt4 book ai didi

python - unittest.TestCase setUpClass 覆盖和继承

转载 作者:行者123 更新时间:2023-12-01 23:49:24 27 4
gpt4 key购买 nike

在下面的例子中可以看出,我为所有的测试定义了一个BaseClass,每个测试用例类都继承了基类。

这两个类都需要执行一次初始化,当执行test_vehicles.py时,我需要确保基类的setUpClass也被调用,不确定如何实现 @classmethod 发挥作用。

# base.py
import unittest

class BaseClass(unittest.TestCase):
@classmethod
def setUpClass(cls):
# initialize stuff
cls.app = app

# test_vehicles.py
class VehiclesTestCase(BaseClass):

@classmethod
def setUpClass(cls):
# initialize stuff
cls.vehicle_id = '123'

def test_get_vehicle(self):
resp = self.app.get(self.vehicle_id)
self.assertEqual(resp, True)



if __name__ == '__main__':
unittest.main()

最佳答案

类似问题Using super with a class method .您还可以从 https://docs.python.org/3/library/functions.html#super 获得更多信息.

解决方案:使用 super 函数并绑定(bind)到类

# test_vehicles.py
class VehiclesTestCase(BaseClass):

@classmethod
def setUpClass(cls):
super(VehiclesTestCase, cls).setUpClass()
cls.vehicle_id = '123'


if __name__ == '__main__':
unittest.main()

关于python - unittest.TestCase setUpClass 覆盖和继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63688167/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com