一、 為什么我用了pytest后就會喜歡上它
- pytest的框架規范更自由
在使用unittest編寫測試用例的時候,需要遵循先創建testclass,測試類繼承unittest.TestCase的固定格式。例如:
而pytest不需要,可以直接寫def test_XXX()即可,寫法是python原生。
二、setUp與tearDown(pytest中的fixture)個人覺得fixture更靈活
對應unittest下的setUp與tearDown,pytest中的fixture顯然更加靈活。
可以任意自定義方法函數,只要加上@pytest.fixture()這個裝飾器,那么被裝飾的方法就可以被使用,如圖所示的,為當test_login_success執行結束后,執行退出。fixture的詳細使用,會在后面單獨拿出來講。
三、pytest的參數化用起來也更方便
pytest可以更好的參數化,如圖所示測試登錄失敗的場景,這里即是4條測試用例。
四、pytest第三方插件非常豐富
pytest具有很多第三方插件,並且可以自定義擴展,比較好用的如pytest-selenium(集成selenium)、pytest-html(完美html測試報告生成)、pytest-rerunfailures(失敗case重復執行)等。這里就不細說了,有需要的話下次再單獨說,附上地址:
https://pypi.org/