我正在寻找一种在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。这两个论点之一?
如果没有,是否有更好的方法来做到这一点。拥有一种方法来清理在测试设置阶段(不是在测试过程中,而是在设置过程中)创建的对象
答案 0 :(得分:2)
您可以执行的另一种方法是通过收益。这将返回您的串行对象,然后允许您进行拆卸。
尝试这样的事情:
@pytest.fixture(scope="session")
def init_setup(request):
# Create my serial object here
yield myserialobject
myserialobject.destroy()