pytestを使って、私は階層的シナリオのようなツリーをテストしようとしています。 は、一例として、文書構造を使用することができます。文書は複数の章を含んpytestは木のようなデータでネストされたパラメータ化
Document --- Chapter --- Paragraph
1 n 1 n
。章には複数の段落が含まれています。
新しいドキュメントのテストを開始するときに、セットアップコードを実行する必要があります。新しいチャプターが開始されると、他のセットアップコードを実行する必要があります。パラグラフと同じです。
for doc in documents:
setup_doc(doc)
for chapter in doc.chapters:
setup_chapter(chapter)
for paragraph in chapter.paragraphs:
setup_paragraph(paragraph)
test_it(doc, chapter, paragraph)
teardown_paragraph(paragraph)
teardown_chapter(chapter)
teardown_doc(doc)
我々は次のようなデータがある場合::
Document Alpha
chapter A
Paragraph A1
Paragraph A2
chapter B
Paragraph B1
を私が収集したテストケースがあることを期待する:
test_it[Alpha, A, A1]
test_it[Alpha, A, A2]
test_it[Alpha, B, B1]
私がきた擬似コードとして書かれ
pytest_generate_tests、クラスシナリオ、フィクスチャ、およびパラメータ化されたテスト関数のさまざまな組み合わせを試しましたが、bこれを達成することができる。
いずれのポインタも大歓迎です。