gpt4 book ai didi

python - 如何使用 Python unittest 来测试类层次结构?

转载 作者:行者123 更新时间:2023-11-28 18:52:01 25 4
gpt4 key购买 nike

给定一个 Python 类层次结构,比如说

class Base:
def method1
def method2
def method3
...
class Derived1(Base)
class Derived2(Base)

等等

并且假定 Base 定义了一些公共(public)接口(interface),这些接口(interface)在每个 Derived 类中以不同的方式重新实现。对所有类的所有成员函数进行单元测试的最直接方法是什么。因为我有一个类层次结构,所以我想做一些类似...

class MyTestCase(unittest.TestCase):
def testMethod1:
## Just as an example. Can be similar
self.failUnless(self.instance.method1())
def testMethod2
...

然后为类层次结构的不同实例设置带有测试用例的测试套件但是如何将“实例”参数放入 MyTestCase 类中呢?

最佳答案

skip 装饰器适用于所有子类以及基类,因此您不能简单地告诉 unittest 跳过基类。最简单的事情可能是根本没有从 TestCase 派生的基测试类:

import unittest

class Base: pass
class Derived1(Base): pass

class BaseTest(object):
cls = None

def setUp(self):
self.instance = self.cls()

def test_Method1(self):
print("run test_Method1, cls={}".format(self.cls))

class TestParent(BaseTest, unittest.TestCase):
cls = Base

class TestDerived1(BaseTest, unittest.TestCase):
cls = Derived1

unittest.main()

关于python - 如何使用 Python unittest 来测试类层次结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11307503/

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