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

时间:2016-08-31 20:02:15

标签: python pytest

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

为了确保我的测试套件的有效性,我想对$HOME中的相应文件进行初步检查,并且我希望在运行测试套件后进行最终检查。

我如何通过"官方"来实现这一目标? pytest的方法?我有一个肮脏的黑客,但有点混乱报道。

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

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

1 个答案:

答案 0 :(得分:1)

您是否考虑过编写会话范围的pytest fixture?类似的东西:

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

    def final_check(request):
        assert final_condition

    request.addfinalizer(final_check)

    return request

如果所有其他灯具都继承自global_check,那么initial_condition将在所有测试运行开始时置位,final_condition将在测试结束时置位运行。