標籤:執行 str abc dig 選擇 pass test == code
HTTP狀態代碼分類查詢方法+單元測試
1 #StatusCodeType.py 2 class StatusCodeType(): 3 def getStatusType(self,Status): 4 if isinstance(Status,str): 5 if Status.isdigit(): 6 if Status[0]==‘1‘: 7 return ‘收到請求請求資訊‘ 8 elif Status[0]==‘2‘: 9 return ‘成功‘10 elif Status[0]==‘3‘:11 return ‘重新導向‘12 elif Status[0]==‘4‘:13 return ‘用戶端錯誤‘14 elif Status[0]==‘5‘:15 return ‘服務端錯誤‘16 else:17 return ‘不存在的狀態代碼‘18 else:19 return ‘不存在的狀態代碼‘20 elif isinstance(Status,int):21 if Status>=100 and Status<200:22 return ‘收到請求請求資訊‘23 elif Status >=200 and Status <300:24 return ‘成功‘25 elif Status >= 300 and Status < 400:26 return ‘重新導向‘27 elif Status >= 400 and Status < 500:28 return ‘用戶端錯誤‘29 elif Status >= 500 and Status < 600:30 return ‘服務端錯誤‘31 else:32 return ‘不存在的狀態代碼‘33 else:34 return ‘不存在的狀態代碼‘
1 import StatusCodeType 2 s=StatusCodeType.StatusCodeType() 3 class test_StatusCode(unittest.TestCase): 4 def setUp(self): 5 pass 6 def tearDown(self): 7 pass 8 def test_01(self): 9 x=s.getStatusType(100)10 self.assertEqual(x,‘收到請求請求資訊‘)11 def test_02(self):12 x=s.getStatusType(199)13 self.assertEqual(x,‘收到請求請求資訊‘)14 def test_03(self):15 x=s.getStatusType(200)16 self.assertEqual(x,‘成功‘)17 #@unittest.skip(‘不執行該用例‘)18 def test_04(self):19 x=s.getStatusType(299)20 self.assertEqual(x,‘成功‘)21 #@unittest.skipIf(1,‘跳過它‘)22 def test_05(self):23 x=s.getStatusType(300)24 self.assertEqual(x,‘重新導向‘)25 #@unittest.skipIf(0, ‘執行它‘)26 def test_06(self):27 x=s.getStatusType(399)28 self.assertEqual(x,‘重新導向‘)29 def test_07(self):30 x=s.getStatusType(400)31 self.assertEqual(x,‘用戶端錯誤‘)32 def test_08(self):33 x=s.getStatusType(499)34 self.assertEqual(x,‘用戶端錯誤‘)35 def test_09(self):36 x=s.getStatusType(500)37 self.assertEqual(x,‘服務端錯誤‘)38 def test_10(self):39 x=s.getStatusType(599)40 self.assertEqual(x,‘服務端錯誤‘)41 def test_11(self):42 x=s.getStatusType(100.5)43 self.assertEqual(x,‘不存在的狀態代碼‘)44 def test_12(self):45 x=s.getStatusType(-5)46 self.assertEqual(x,‘不存在的狀態代碼‘)47 def test_13(self):48 x=s.getStatusType(‘abc‘)49 self.assertEqual(x,‘不存在的狀態代碼‘)50 def test_14(self):51 x=s.getStatusType(99)52 self.assertEqual(x,‘不存在的狀態代碼‘)53 def test_15(self):54 x=s.getStatusType(600)55 self.assertEqual(x,‘不存在的狀態代碼‘)56 def test_16(self):57 x=s.getStatusType(‘302‘)58 self.assertEqual(x,‘重新導向‘)59 def test_17(self):60 x=s.getStatusType(‘302.5‘)61 self.assertEqual(x,‘不存在的狀態代碼‘)62 if __name__==‘__main__‘:63 unittest.main()
1 # 附:選擇用例按指定順序執行 2 import unittest 3 from test_9_3_1 import test_StatusCode 4 if __name__==‘__main__‘: 5 suit=unittest.TestSuite() 6 case=[test_StatusCode(‘test_17‘),test_StatusCode(‘test_16‘),test_StatusCode(‘test_01‘)] 7 runner=unittest.TextTestRunner(verbosity=2)#該參數顯示執行的詳細資料 8 suit.addTests(case) 9 runner.run(suit)10 print(‘執行完成‘)
python編輯基礎與http介面測試_9.3章節