008 python接口 unittest
生活随笔
收集整理的這篇文章主要介紹了
008 python接口 unittest
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
?
''' 時間:2018/10/30 功能:unittest 目錄:一: 三種介紹1 help查看2 文件查看3 類型查看二: 單個運行1 測試用例
2 測試類 三: 全部運行1 方法12 方法2四: 執行結果
五: 執行順序
六: 實際操作
七: Error
1 tab和空格
'''
?
一: 三種介紹
1 help查看
?
2 文件查看
?
3 類型查看
# coding:utf-8 import unittestprint(type(unittest)) <class 'module'>?
二: 單個運行
1 測試用例
# coding:utf-8 import unittestclass IntegerArithmeticTestCase(unittest.TestCase):def testAdd(self): # test method names begin with 'test'self.assertEqual((1 + 2), 3)self.assertEqual(0 + 1, 1)def testMultiply(self):self.assertEqual((0 * 10), 0)self.assertEqual((5 * 8), 40)if __name__ == '__main__':unittest.main()1 : 使用例子代碼,復制到py文件。
?
1 : 選擇要執行的單個用例xxx,右擊選擇Run 'xxx'。
?
1 : 可以看紅框內運行:數量、結果和時間。
?
2 測試類
1 : 選擇要執行的測試類xxx,右擊選擇Run 'xxx'。
?
1 : 可以看紅框內運行:數量、結果和時間。
?
三: 全部運行
1 方法1
1 : 選擇'__main__',右擊選擇Run '文件名'。
?
1 : 可以看紅框內運行:數量、結果和時間
2 方法2
1 : 右擊文件名,選擇Run 'Unittests in 文件名'。
?
1 : 可以看紅框內運行:數量、結果和時間
?
四: 執行結果
. : 執行成功 E : 測試代碼錯誤 F : assert斷言失敗,開發代碼問題)五: 執行順序
# coding:utf-8 import unittestclass A8(unittest.TestCase):def setUp(self):print("setUp")def tearDown(self):print("tearDown")@classmethoddef setUpClass(cls):print("setUpClass")@classmethoddef tearDownClass(cls):print("tearDownClass")def testAdd(self): # test method names begin with 'test'print("testAdd")self.assertEqual((1 + 2), 3)self.assertEqual(0 + 1, 1)def testMultiply(self):print("testMultiply")self.assertEqual((0 * 10), 0)self.assertEqual((5 * 8), 40)def testAsd(self):print("testAsd")self.assertEqual((1 + 1), 2)self.assertEqual((1 + 1), 2)if __name__ == '__main__':unittest.main() Testing started at 1:16 ... setUpClass setUp testAdd tearDown setUp testAsd tearDown setUp testMultiply tearDown tearDownClass 每次用例 - 最先執行: def setUp(self): 每次用例 - 最后執行: def tearDown(self):所有用例 - 最先執行一次: def setUpClass(cls): 所有用例 - 最后執行一次: def tearDownClass(cls):class和用例執行順序排序: 大寫字符(A-Z),小寫字母(a-z), 數字(0-9)
?
六: 實際操作
?
1 : 使用第三方接口做測試。
?
{'error_code': 0, 'reason': 'success', 'result': {'data': {'conclusion': '[兇]波瀾重迭,常陷窮困,動不如靜,有才無命', 'analysis': '越是對命運的抗爭,越是使自已陷入困境,常常想靠自已改變命運,卻一次次使自已的生活走入窮困,還不如聽天由命,安于本份。'}}}{'resultcode': '101', 'reason': 'KEY ERROR!', 'result': [], 'error_code': 10001}1 : 查看不同情況下的返回數據,還可以查看官方的接口描述。
?
# coding:utf-8 import requests import unittestclass TestQQ(unittest.TestCase):# key值 - 正確情況def test_qq_right_key(self):url = "http://japi.juhe.cn/qqevaluate/qq"par = {"key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx", # 正確的key"qq": "1812436356"}r = requests.get(url, params=par)res = r.json()self.assertTrue(res['reason'] == 'success') # 檢查點 - 結果self.assertTrue(res['error_code'] == 0) # 檢查點 - 錯誤碼self.assertTrue(res['result'] != []) # 檢查點 - 返回結果# key值 - 錯誤情況def test_qq_error_key(self):url = "http://japi.juhe.cn/qqevaluate/qq"par = {"key": "123456789", # 錯誤的key"qq": "1812436356"}r = requests.get(url, params=par)res = r.json()self.assertTrue(res['reason'] == 'KEY ERROR!') # 檢查點 - 結果self.assertTrue(res['error_code'] == 10001) # 檢查點 - 錯誤碼self.assertTrue(res['result'] == []) # 檢查點 - 返回結果# qq - 為空def test_qq_no_qq(self):url = "http://japi.juhe.cn/qqevaluate/qq"par = {"key": "980bf619855953f6ebef9abe90d52712","qq": ""}r = requests.get(url, params=par)res = r.json()self.assertTrue(res['reason'] == '錯誤的請求參數') # 檢查點 - 結果self.assertTrue(res['error_code'] == 216602) # 檢查點 - 錯誤碼if __name__ == "__main__":unittest.main()1 : 根據不同的測試方法,編寫測試用例。
?
1 : 可以看紅框內運行:數量、結果和時間
?
七: Error
1
?
原因是在代碼對齊中,混合使用tab健和空格健1 : notepad: 視圖 -> 顯示符號 -> 顯示空格與制表符。
?
def testAdd(self): self.assertEqual((1 + 2), 3) # tab對齊self.assertEqual(0 + 1, 1) # 空格對齊?
?
?
?
?
?
轉載于:https://www.cnblogs.com/huafan/p/9874339.html
總結
以上是生活随笔為你收集整理的008 python接口 unittest的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UVA1386 【Cellular Au
- 下一篇: python 在内网windows环境下