日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python unittest库的入门学习

發布時間:2024/4/17 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python unittest库的入门学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • unittest的基本概念

  • 創建測試用例類
  • unittest的使用示例

  • 一、基本概念

    Testcase是所有測試用例的基類

    TestSuite是創建一個測試“容器”,可以往里面加case

    TextTestRunner是運行測試用例

    二、如何創建測試用例類

    所有的用例類都需要繼承TestCase

    測試用例中setUp和tearDown是每一個case開始和結束的時候都回執行的

    測試用例必須以test開頭

    還可以在用例類中定義類方法,setUpClass和tearDownClass,在每一個用例類的開始和結尾處都執行一遍。

    import unittest #測試類必須要繼承unittest.TestCase class TestMethod(unittest.TestCase):@classmethoddef setUpClass(cls):print('類執行之前')@classmethoddef tearDownClass(cls):print('類結束之后')#每一個測試方法開始要執行的方法def setUp(self):print("測試方法開始啦")#每一個測試方法結束后執行的方法def tearDown(self):print("測試方法結束啦")#測試方法必須要以test開頭!!!def test01(self):print("這個是測試方法01")def test02(self):print("這個是測試方法02") if __name__=="__main__":

    ?

    三、使用示例:

    import unittest import json from demo import RunMainclass TestMethod(unittest.TestCase):def setUp(self):self.run = RunMain()def test_01(self):data = {'username':'nick','password':'123','errorCode':'1000'}url = "http://localhost:8000/login/"res = self.run.run_main(url, 'POST', data)#self.assertEqual(res['errorCode'],'1000',"測試成功")print(res)# 打印全局變量#print(userid)#@unittest.skip('test_02')def test_02(self):# 全局變量#globlas()['userid'] = '10000'data = {'username':'nick','password':'123','errorCode':1001}url = "http://localhost:8000/login/"res = self.run.run_main(url, 'POST', data)#self.assertEqual(res['errorCode'],'1001',"測試失敗")print(res)if __name__ == '__main__':#unittest.main()suite = unittest.TestSuite()suite.addTest(TestMethod('test_02'))suite.addTest(TestMethod('test_01'))unittest.TextTestRunner().run(suite)

     ? ?globlas()['userid'] = '10000'是全局變量。比如第一個test的執行需要依賴第二個test,這時候就需要一個global,讓第二個test也可以訪問第一個test方法中的變量或者返回值

    ? ? ? ?assertEqual是斷言

    ? ? ? @unittest.skip這個裝飾器是用于過濾不需要執行的test

    ? ? ? main方法中的unittest.main()是執行這個類中的所有代碼,如果只想只想部分test,可以先創建一個“容器”suite,再往里面addtest,最后執行容器

    unittest.TextTestRunner().run(suite)
    示例三: import HTMLTestRunner import unittestclass MyTest(unittest.TestCase):#繼承unittest.TestCasedef tearDown(self):#每個測試用例執行之后做操作print('111')def setUp(self):#每個測試用例執行之前做操作print(22222)def test_run(self):# self.assertEqual(1,1)self.assertIs(1,1)#測試用例def test_run2(self):# self.assertEqual(1,1)self.assertIs(1,1)#測試用例def test_run3(self):# self.assertEqual(1,1)self.assertIs(1,1)#測試用例def test_run1(self):# self.assertEqual(1,1)self.assertIs(1,1)#測試用例if __name__ == '__main__':test_suite = unittest.TestSuite()#創建一個測試集合test_suite.addTest(MyTest('test_run1'))#測試套件中添加測試用例#test_suite.addTest(unittest.makeSuite(MyTest))#使用makeSuite方法添加所有的測試方法fp = open('res.html','wb')#打開一個保存結果的html文件runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='api測試報告',description='測試情況')#生成執行用例的對象runner.run(test_suite)#執行測試套件

      如果執行了之后無法生成測試報告,那就直接在命令行中執行這個py文件就行了,這個是pycharm的毛病。。。

    可以參考:https://blog.csdn.net/xie_0723/article/details/50825310

    更多uinttest的資料https://www.cnblogs.com/feng0815/p/8045850.html

    轉載于:https://www.cnblogs.com/mesunyueru/p/9164406.html

    與50位技術專家面對面20年技術見證,附贈技術全景圖

    總結

    以上是生活随笔為你收集整理的python unittest库的入门学习的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。