關於python的測試框架,目前比較流行的有unittest、pytest、nosetest。今天要講的是pytest與unittest之間的比較。
unittest是python內嵌的測試框架,原名爲PyUnit。unittest提供了test cases、test suites、test fixtures、test runner相關的類,讓測試更加明確、方便、可控。使用unittest編寫用例,必須遵照如下規則:
1.測試文件必須先import unittest
2.測試類必須繼承unittest.TestCase
3.測試方法必須以「test_」開頭
4.測試類必需要有unittest.main()方法
pytest是python的第三方測試框架,是基於unittest的擴展框架,比unittest更簡潔,更高效。使用pytest編寫用例,必須遵照如下規則:
1.測試文件名必須以「test_」開頭(如:test_ab.py)
2.測試方法必須以「test_」開頭
這裏很明顯,編寫測試用例的方法pytest就比unittest簡單不少。
pytest能夠執行unittest風格的測試用例,無須修改unittest用例的任何代碼,有較好的兼容性。
pytest插件豐富,好比flask插件,可用於用例出錯重跑;還有xdist插件,可用於設備並行執行。
總結:
python