測驗套件(Test Suite):是測驗用例、測驗套件或兩者的集合,用于組裝一組要運行的測驗(多個測驗用例集合在一起),
(1)創建一個測驗套件
import unittestsuite = unittest.TestSuite()
(2)將測驗用例,加載到測驗套件中
·通過模塊或測驗用例類加載
import testcases # 測驗用例的模塊import unittestsuite = unittest.TestSuite() # 創建測驗套件loader = unittest.TestLoader() # 用來加載TestCase到TestSuite中的suite.addTest(loader.loadTestsFromModule(testcases)# 模塊加載suite.addTest(loader.loadTestsFromTestCase(testcases.類名)) # 用例類加載
·添加單條測驗用例:suite.addTest(類名("用例方法名"))
·指定測驗用例的所在的目錄路徑,進行加載()
discover(start_dir,pattern = "test*.py”,top_level_dir = None):start_dir:待測驗的模塊名或測驗用例目錄;pattern= "test*.py”:測驗用例檔案名的匹配原則;top_level_dir = None:測驗模塊的頂層目錄,默認None
import unittestsuite = unittest.TestSuite()loader = unittest.TestLoader()suite.addTest(loader.discover(r"用例檔案所在的目錄的絕對路徑"))
2、Test Runner
Test Runner:用于協調測驗的執行并(通過圖形界面、文本界面、回傳特殊值)向用戶提供結果,
(1)測驗結果
.:用例通過
E:表示代碼出錯了
F:表示不通過
(2)使用啟動器,執行測驗套件
runner = unittest.TextTestRunner() # 測驗運行程式--->用來執行測驗用例的runner.run(suite)
3、生成測驗報告
(1)text型別報告
with open(“test_report.txt","w") as f: runner = unittest.TextTestRunner(f) runner.run(suite)
(2)html型別報告
from HTMLTestRunnerNew import HTMLTestRunnerrunner = HTMLTestRunner(stream=open("test_report.html", "wb"), # 打開一個報告檔案,將句柄傳給stream tester="xxx", # 報告種顯示的測驗人員description="測驗報告描述, # 報告種顯示描述資訊 title="測驗報告標題") # 報告的標題# 方法2with open('test_report.html','wb') as file: runner = HTMLTestRunner(stream=file, tester = 'xxxx', # 報告種顯示的測驗人員 title='測驗報告標題', # 報告的標題description='測驗報告描述' ) # 報告種顯示描述資訊runner.run(suite)
完整代碼為:
import timeimport osimport unittestfrom com.contants import CASE_DIR # 測驗用例模塊路徑from com.contants import REPORT_DIR # 測驗報告路徑from com.myconf import conf # 讀取組態檔(測驗報告配置資訊)from library.HTMLTestRunnerNew import HTMLTestRunner # 生成測驗報告from com.sendemail import send_email# 1.創建測驗套件suite = unittest.TestSuite()# 2. 加載TestCase到TestSuite中# 創建物件加載loader = unittest.TestLoader()# # (1)通過模塊加載# suite.addTest(loader.loadTestsFromModule(test_case))# # (2)通過測驗用例類加載# suite.addTest(loader.loadTestsFromTestCae(test_case.類名))## # (3)添加單條測驗用例,不需要loader物件方法# # 注意:通過用例類去創建測驗用例物件時,需傳入用例的方法名(字串型別)# suite.addTest(類名("用例方法名"))# (4)指定測驗用例的所在的目錄路徑,進行加載()suite.addTest(loader.discover(CASE_DIR))# 測驗運行程式--->用來執行測驗用例的# 方法1# runner = unittest.TextTestRunner()# 方法2:將HTMLTestRunner檔案放在scriptsreport_name = time.strftime('%Y-%m-%d %H_%M') + conf.get('report','reportname')report_path = os.path.join(REPORT_DIR,report_name)with open(report_path,'wb') as file: runner = HTMLTestRunner(stream=file, # 檔案名 tester = conf.get('report','tester'), # 報告種顯示的測驗人員 title= time.strftime('%Y-%m-%d %H_%M_%S') + conf.get('report','title'), # 報告的標題 description=conf.get('report','description') ) # 報告種顯示描述資訊 runner.run(suite)# 發送測驗報告send_email(report_path,report_name)
最后,下面是我整理出來的一份軟體測驗工程師發展方向知識架構體系圖,
希望大家能在這個成長程序中收益良多,可以說,這個程序會讓你痛不欲生,但只要你熬過去了,以后的生活就輕松很多,正所謂萬事開頭難,只要邁出了第一步,你就已經成功了一半,古人說的好“不積跬步,無以至千里,”等到完成之后再回顧這一段路程的時候,你肯定會感慨良多,
由于CSDN上傳圖片大小有限,有需要的朋友可以關注我的公眾號:程式員二黑,回復1,即可獲取原圖,
下面是一份配套的軟體測驗資源包:
上面是一些配套資源,對于軟體測驗的的朋友來說應該是最全面最完整的備戰倉庫,為了更好地整理每個模塊,我也參考了很多網上的優質博文和專案,力求不漏掉每一個知識點,很多朋友靠著這些內容進行復習,拿到了BATJ等大廠的offer,這個倉庫也已經幫助了很多的軟體測驗的學習者,希望也能幫助到你,
關注我的微信公眾號:程式員二黑,即可免費獲取!
最困難的時候,也就是我們離成功不遠的時候!如果你不想再體驗一次自學時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,可以加入我們的群:785128166 大家一起討論交流學習,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/292647.html
標籤:其他
下一篇:來自大佬的自動化測驗提升之路
