前言:
有使用過unittest單元測試框架,再使用pytest單元測試框架,就可以明顯感覺到pytest比unittest真的簡潔、方便很多。
unittest與pytest的區別:
主要從用例編寫規則、用例的前置和后置、參數化、斷言、用例執行、失敗重運行和報告這幾個方面比較unittest和pytest的區別



前后置的區別:
https://www.cnblogs.com/cuitang/p/11639961.html
參數化的區別:
unittest參數化:結合裝飾器ddt來實現
1 測試類前要添加修飾器 @ddt.ddt
@ddt.ddt 2 class TestLogin(unittest.TestCase):
#測試用例前要添加修飾 @ddt.data,form_wrong_data包含了3條測試數據,此時要將這3條數據都拿出來,需要加上* 3 @ddt.data(*lg.form_wrong_data) 4 def test_login_2_form_wrongdata(self, data): 5 # 步驟 登錄頁面 -》 登錄功能-》輸入用戶名、密碼 #測試數據 python 斷言數據,請輸入手機號 6 self.lp.login(data["user"], data["pwd"]) 7 self.assertEqual(str(data["check"]), self.lp.get_wrong_msg())
pytest參數化:直接使用@pytest.mark.parametrize(自定義命令參數名稱,數據源)
1 @pytest.mark.parametrize("sucess_data", ld.sucess_data) 2 def test_1_sucess_login(self, sucess_data, start_app): 3 MyLog().info("成功登錄測試用例") 4 bl(start_app).click_now_to_login() 5 lp(start_app).Login(sucess_data["username"], sucess_data["password"])
較詳細的文章可參考:https://blog.csdn.net/qq_41752647/article/details/94463011
