1
假設我想編寫另一個markdown解析器,並且我希望它完全測試 。我想我會創建兩個文件夾markdown
和html
,每個文件夾包含 相同的文件名。要執行我需要只是一個單一的功能測試:用python中的外部文件測試
def test_correct_parsing(md, html):
assert markdown(md) == html
我的問題:這是一個很好的策略?如果是這樣,我怎樣才能用pytest來做到這一點?
爲什麼我不能在不同的文件中包含所有這些文件?一個'header.md'文件,其中包含所有形式的標題,一個用於列表的'list.md'等。以及其他一些混合了多種元素的文件。 – Zii8roZi
在答案中添加一些註釋以解釋原因。 –
所以理想情況下,您應該單獨測試給定標籤的所有形式。在現實世界的場景中,我們將單元測試更小的組件,並嘗試創建我們能想到的所有可能性的測試用例。一旦他們通過,你可以確信你的組件工作正常。然後,我們轉向功能和集成測試,在這些測試中,我們使用類似的形式與其他事物一起在真實世界的用例中測試您的組件。這將有助於您瞭解什麼時候您的組件發生故障以及由於什麼更容易。 – vaidik