Python - 使用pytest测试子类中编写的测试方法

Python - Use pytest to test test methods written in subclass

我是pytest新手。我有一个场景,我想测试一些用 subclass.

编写的测试方法

假设下面是我的代码结构

class Superclass:
    def __init__(self, a):
        self.a = a
    def dummy_print():
        print("This is a dummy function")

class TestSubClass(Superclass):

def test_1_eq_1():
    assert 1 == 1

执行以下命令后

py.test -s -v test_filename.py

我收到以下错误消息:

cannot collect test class 'Test_Super' because it has a init constructor

pytest 文档中也提到了同样的内容。

有解决办法吗?

我需要 superclass' __init__() 方法,因为我所有的测试文件都需要从 super class.

继承

Pytest 不同于单元测试。它 prohibits class 层次结构,您可以在警告消息中看到。

如果您需要一些预初始化步骤,请使用 fixtures:

@pytest.fixture(autouse=True)
def pre_run_initialization():
    # do before test
    yield
    # do after test