【发布时间】:2023-03-15 05:15:01
【问题描述】:
给定具有一些多重继承和/或混合(无论您如何称呼它)的类的小层次结构。
我对每个单独的基类和 mixin 都有一个详细的测试用例 (unittest.TestCase)。
如何为从基类和 mixin 派生的类重用这些测试用例?我觉得,测试/断言派生类继承自某些基类并不足以确保它继承基类的特定行为。
我想写一些类似的东西:
class Base(object):
# provides certain behavior
class Derived(Base, Mixin):
# does some additional stuff compared to Base and Mixin
class BaseTest(unittest.TestCase):
# tests on Base's behavior
class DerivedTest(unittest.TestCase):
def setUp(self):
self.default = Derived()
def test_has_behavior_of_base(self):
# instead of
self.assertIsInstance(self.default, Base)
self.assertIsInstance(self.default, Mixin)
# write
self.assertPasses(BaseTest, Derived)
有没有一种 pythonic 方法可以通过 Pythons unittest 模块和nose 包的帮助来实现这一点?
【问题讨论】:
标签: python-3.x nose python-unittest