2017-01-26 12 views
2

私はの末尾にある関数を実行したいと思います。テスト。Pytest:テストの最後に関数を実行します

グローバルなティアダウン機能の一種。

私は例hereといくつかの手がかりhereを見つけましたが、私の必要性に合っていません。テストの開始時に関数を実行します。私も関数pytest_runtest_teardown()を見ましたが、それは各テストの後に呼び出されます。

プラス:すべてのテストが成功した場合にのみ関数を呼び出すことができれば、それは素晴らしいことです。

+0

'pytest_unconfigure'は仕事をしているようですが、誰かがより良いアイデアを出してくれるかもしれません – user4780495

+0

最後にフィクスチャを実行するには、' request.addfinalizer(tear_down_function) 'を使用してください。ホールセッションの終わりに実行するには、すべてのテストケースで実行するのではなく、正確なスコープを '@ pytest.fixture(scope =" session ")' – Andersson

答えて

2

私が見つかりました:

def pytest_sessionfinish(session, exitstatus): 
    """ whole test run finishes. """ 

exitstatusが実行するアクションを定義するために使用することができます。

関連する問題