将变量传递给pytest_sessionfinish

时间:2020-03-17 14:46:32

标签: pytest fixtures teardown

我正在寻找一种在pytest中将一些变量从会话开始传递到会话结束的方法。

更具体地说,我在使用夹具挖起的会话来创建串行COM对象,例如:

@pytest.fixture(scope="session")
def init_setup(request):
# Create serial_com object

在此步骤之后,我运行了一些测试。

最后我有pytest_sessionfinish(session,exitsstatus):, 在这里,我想关闭我创建的com对象,例如:

def pytest_sessionfinish(session, exitstatus):
# close comport obj.

这里的问题是我不知道是否可以存储我的comport obj。这两个论点之一?

如果没有,是否有更好的方法来做到这一点。拥有一种方法来清理在测试设置阶段(不是在测试过程中,而是在设置过程中)创建的对象

1 个答案:

答案 0 :(得分:2)

您可以执行的另一种方法是通过收益。这将返回您的串行对象,然后允许您进行拆卸。

尝试这样的事情:

@pytest.fixture(scope="session")
def init_setup(request):
    # Create my serial object here
    yield myserialobject
    myserialobject.destroy()
相关问题