使用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能夠實現這一點。
任何指針將不勝感激。