Py学习  »  teprrr  »  全部回复
回复总数  1
3 年前
回复了 teprrr 创建的主题 » Python:用具体的实现细节测试抽象类

下面是一个使用变体(基于 https://stackoverflow.com/a/63777635 )展示如何测试所有 Animal 子类:

@pytest.mark.parametrize("cls", Animal.__subclasses__())
def test_animals(mocker, cls):
    mocker.patch.multiple(cls, __abstractmethods__=set())
    inst = cls()
    assert inst.zoo_str() == f"{inst.description()}Get more info at zoo.com!"