一、測試常用規則
乙個測試單元必須關注乙個很小的功能函式,證明它是正確的;
在編寫**前執行完整的測試,而且在編寫**後再重新執行一次。這樣能保證你後來編寫的**不會破壞任何事情;
在提交**前執行完整的測試;
單元測試函式使用長的而且具有描述性的名字。在正式執行**中,可能使用square()或sqr()取名,但是在測試函式中,你必須取像test_square_of_number_2()、test_square_negativer_number()這些名字,這些名字描述更加清楚;
測試**必須具有可讀性;
單元測試對新進的開發人員來說是工作指南。
二、python常用的測試框架
1. unittest
unittest是python內建的標準類庫
unittest 和 junit類似,可以說是python的標準單元測試框架,所以有時也被人稱為 pyunit。它使用起來和xunit 家族其他成員類似。 用的人也比較多。相容 python2 以及python3 。
2、unittest2
unittest2 可以說是乙個針對 unittest測試框架新特性的補丁。它很大程度上和unittest都類似。然後還新增了一些unittest沒有的方法。
3、pytest
py.test是unittest的替代工具。
儘管它是乙個功能豐富、靈活的測試框架,但是它的語法很簡單。建立乙個單元測試就像編寫乙個模組一樣。相比unittest,實現相同的測試功能,py.test做的事情更少。
pytest 直接可以通過 @pytest.mark.parametrize 進行引數化,而unittest 則需要借助ddt。
4、nose
nose是對unittest的擴充套件,使得python的測試更加簡單。nose自動發現測試**並執行,nose提供了大量的外掛程式,比如測試輸出的xunitcompatible,覆蓋報表等等。
基於python的測試驅動開發實戰 也有nose的用法:
還有乙個特定就是,nose可以採用 @with_setup() 來定義方法的setup和teardown。
5、doctest
doctest模組會搜尋那些看起來像互動式會話的 python **片段,然後嘗試執行並驗證結果。
6、tox
最大的特色,是自動最測試環境的管理以及使用多個解析器配置進行測試。
7、mock
unittest.mock是用來測試python的庫。
在python3.3版本以後,這個是乙個標準庫。 對老版本來說,使用pip install mock 進行安裝。
mock的精髓在於,你可以使用模擬的物件來替代你的系統的一部分,然後驗證後續的執行是否正確。
mock的詳細文件:
測試 功能測試
測試最基本的就是看介面展示是否正確這一類測試。但是,這類測試如果功能點多的情況下,如何有效測試就是乙個問題。1 詳略得當的測試用例,可以用mindmanager去做,也可以用excel等。2 光有測試用例是不夠的,還要根據測試資料,設計測試策略。如 測試的服務端的先後 測試賬號的先後 測試功能的先後...
介面功能測試,python3 5
閒來無事,把以前的 貼出來 return 請求成功,開始判斷響應狀態 requests statuscode.text else return requests statuscode print 請求失敗if內 except exception as e print 請求失敗try內 3try a ...
全功能Python測試框架 pytest
python通用測試框架大多數人用的是unittest htmltestrunner,這段時間看到了pytest文件,發現這個框架和豐富的plugins很好用,所以來學習下pytest.pytest是乙個非常成熟的全功能的python測試框架,主要有以下幾個特點 安裝pytest pip insta...