1.unittest是什么?
????unittest是python內(nèi)置的單元測試框架,具備編寫用例、組織用例、執(zhí)行用例、輸出報告等自動化框架的條件。
????單元測試框架的優(yōu)點:
????????一般來說不用單元測試框架也能編寫單元測試,因為單元測試本身就是通過一段代碼去驗證另一段代碼,所以不用單元測試框架也能編寫單元測試。只是使用框架時會有更多的優(yōu)點
????提供用例組織與執(zhí)行:
? ? ????當測試用例達到成百上千條時,就產(chǎn)生了擴展性與維護性等問題,此時就需要考慮用例的規(guī)范與組織問題了。單元測試框架便能很好的解決這個問題
????提供豐富的比較方法:? ?
? ? ????不論是功能測試還是單元測試,在用例完成之后都需要將實際結(jié)果與預期結(jié)果進行比較(斷言),從而斷定用例是否執(zhí)行通過。單元測試框架一般會提供豐富的斷言方法。例如:相等\不相等,包含\不包含,True\False的斷言方法等
?????提供豐富的日志:
? ? ? ? 當測試用例執(zhí)行失敗時能拋出清晰的失敗原因,當所有用例執(zhí)行完成之后能提供豐富的執(zhí)行結(jié)果。例如,總執(zhí)行時間、失敗用例數(shù)、成功用例數(shù)等
2.斷言方法
????python unintest單元測試框架提供了一整套內(nèi)置的斷言方法。
????1.如果斷言失敗,則拋出一個AssertionError,并標識該測試為失敗狀態(tài)
????2.如果異常,則當做錯誤來處理
????????注意:以上兩種方式的區(qū)別
????3.如果成功,則標識該測試為成功狀態(tài)
????在unittest框架中定義了哪幾類斷言方法:
????????1.基本的Boolean斷言,即:要么True,要么False的驗證
????????2.簡單比較斷言,例如比較a,b兩個變量的值
????????3.復雜斷言
????基本斷言方法
????????基本的斷言方法提供了測試結(jié)果是True還是False。所有的斷言方法都有一個msg參數(shù),如果指定msg參數(shù)的值,則將該信息作為失敗的錯誤信息返回。
