私はunittestで書かれたコードベースで作業しています。テストはpytestで実行されます。私はそれらのいくつかをパラメータ化してテストを簡素化しようとしています。この目標を達成するために、私はpytest fixtureとrefactorを使って既存のunittestベースのテストを使う方法を学びたいと考えています。現在のテストはconftest.pyでグローバルなフィクスチャを持っている:チェーンの複数の固定具pytest/unittestハイブリッド
@pytest.fixture(autouse=True)
def register_cleanup():
yield True
print("cleaning up database")
今、私は私のテストモジュールの一つに固有のフィクスチャを追加したい、しかし
@pytest.fixture()
def foo_fixture():
print("setup fixture")
yield
print("tear down fixture")
class Foo(unittest.TestCase):
def setUp(self):
print('unittest setUp()')
def test(self):
print('test')
の線に沿って何かを、このモジュールフィクスチャ内のprint()
文は決して実行されません。中間段階として、私はunittestベースの構造を維持し、それに追加しています。この作業を私が望むやり方で行うことは可能ですか?また、unittestを完全に廃止してpytestに直接行く必要がありますか?
あなたは、この治具を使用することを期待するでしょうか?ここでも 'autouse = True'をオンにしたかったのですか?一般的に、フィクスチャはテストのパラメータであるときにのみ実行され、スコープ付きの仮定よりも一般的なクリーンアップのメカニズムは少ない – Cireo
@Cireo 'register_cleanup 'と同様に' autoo = True'を 'foo_fixture() () '? –
@Cireoこれを回答として投稿してください。 –