pytest 8 系から setup/teardown の書き方が変わった
pytest 8 系から nose のサポートが終了した。これにより、nose を使っているプロジェクトに影響が出る可能性がある。 具体的にsetup
/teardown
のフィクスチャが影響を受ける。 これまでは次のようにかけていたが、pytest 8 系ではエラーになる。
| class Test:
def setup(self):
self.resource = make_resource()
def teardown(self):
self.resource.close()
def test_foo(self): ...
def test_bar(self): ...
|
8 系ではこれを次のように書き換える。
| class Test:
def setup_method(self):
self.resource = make_resource()
def teardown_method(self):
self.resource.close()
def test_foo(self): ...
def test_bar(self): ...
|
公式ドキュメントでは他にも@with_setup
デコレータの代替方法などが紹介されているので、詳細はそちらを参照されたい。