如何在 python unittest 中编写状态测试?

问题描述 投票:0回答:1

我想为使用

unittest
且非常分层的现有库创建一个测试套件。

类层次结构看起来有点像这样:

A
|_B
|_C
  |_D
  |_E

A
是使用
B
C
的实例创建的,其中
C
需要
D
E
。这些实例的制作成本相当昂贵,因此我想在以后的测试用例中重用它们。 我想要的是这样的:

class TestsClass(TestCase): 
    def test_00_test_e():
        self.e = E()
        ...

    def test_01_test_d():
        self.d = D()
        ...

    def test_02_test_c():
        self.c = C(self.d, self.e)
        ...

    ...

然而这是不可能的,因为

unittest
为每个测试用例创建一个唯一的对象。 有没有办法在
unittest
中获得此功能,以便我可以在项目的测试框架中工作而不必添加依赖项?

python python-unittest
1个回答
0
投票

可以拥有

setUpClass()
并在执行类中的所有方法之前调用它:

class TestsClass(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        cls.e = E()  
        cls.d = D()  
        cls.c = C(cls.d, cls.e)  

    def test_00_test_e(self):
        # Use self.e instance
© www.soinside.com 2019 - 2024. All rights reserved.