0

我正在寻找一种在 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。在这两个论点之一?

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

4

1 回答 1

2

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

尝试这样的事情:

@pytest.fixture(scope="session")
def init_setup(request):
    # Create my serial object here
    yield myserialobject
    myserialobject.destroy()
于 2020-03-17T17:11:49.103 回答