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 を保存できるかどうかわからないことです。これら2つの引数のいずれかで?

そうでない場合、これを行うより良い方法はありますか。テスト セットアップ フェーズ中に作成したオブジェクトをクリーンアップする方法がある (テスト中ではなく、セットアップ中に)

4

1 に答える 1

2

それを行う別の方法は、yield を使用することです。これにより、シリアル オブジェクトが返され、後でティアダウンを実行できるようになります。

次のようなことを試してください:

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