运行pytest测试套件时的初始和最终检查

roc*_*ker 8 python pytest

我有我在创建配置文件生产代码$HOME文件夹,并在隔离的环境中我打补丁运行我的测试$HOMEconftest.py.我仍然不确定这是否有效,并且可能会出现无意义的书面测试功能.

为了确保我的测试套件的有效性,我想对各个文件进行初步检查,$HOME并且我想在运行测试套件后进行最终检查.

我怎样才能通过"官方"手段实现这一目标pytest?我有一个肮脏的黑客工作,但搞乱报告.

我的测试套件现在是正确的,这个问题是出于好奇,因为我想了解更多pytest.


增加:同样的问题,但不同的用例:我想检查第三方插件是否满足版本要求.如果不是这种情况,我想显示一条消息并停止py.test.

Max*_*ner 1

您是否考虑过编写一个会话范围的 pytest 固定装置?就像是:

@pytest.fixture(scope="session")
def global_check(request):
    assert initial_condition

    def final_check(request):
        assert final_condition

    request.addfinalizer(final_check)

    return request
Run Code Online (Sandbox Code Playgroud)

如果您的所有其他装置都继承自global_check,则将initial_condition在所有测试运行开始时断言,并将final_condition在测试运行结束时断言。