import pytest @pytest.fixture("session") def setup(request): setup = CostlySetup() yield setup setup.finalize() class CostlySetup(object): def __init__(self): import time print("performing costly setup") time.sleep(5) self.timecostly = 1 def finalize(self): del self.timecostly