Maison > Article > développement back-end > Comment utiliser l'interface de test unittest dans python_python
Cet article présente principalement en détail comment Python utilise l'interface de test unittest, qui a une certaine valeur de référence. Les amis intéressés peuvent s'y référer
L'exemple de cet article explique avec vous comment utiliser Python pour tester en utilisant. unittest. Le code spécifique de l'interface est pour votre référence. Le contenu spécifique est le suivant
1. Utilisez d'abord les requêtes python pour tester l'interface
# TestInface.py import requests,json url = visit.get_test_url() news_url = url+'news.info' headers = baseToken.basetoken_datas()['headers'] def new_data(data): r = requests.post(news_url,data=data,headers=headers) cnn = json.loads(r.text) return cnn
.
2. Utilisez unittest pour appeler l'interface et collecter des statistiques sur les résultats du test d'interface
# TestCase.py # -*- coding:utf-8 -*- import unittest import TestInface # 对执行的case结果进行统计 # --------------------------------------------------------------------------------------------------------------------- text = "" num_success = 0 num_fail = 0 # 测试通过 def decide_success(joggle): global num_success num_success += 1 print_out(joggle + ":接口测试通过\n") return num_success # 测试不通过 def decide_fail(txt, joggle): global num_fail num_fail += 1 print_out(joggle + ":接口测试未通过 \n错误信息: " + txt + "\n") return num_fail # 邮件内容写入 & 客户端输出 def print_out(message): global text text += "\n" + message return text # 返回值判断 def decide_result(result, code, joggle): if result['code'] == code: decide_success(joggle) return "pass" else: txt = u"期望返回值:" + str(code) + u" 实际返回值:" + str(result) + '\n' + result['message'] decide_fail(txt, joggle) return "fail" def decide_Count(): data = { 'num_success': num_success, 'num_fail': num_fail, 'text': text } return data # -------------------------------------------------------------------------------------------------------------------- # 定义 unittest class MyTestCase(unittest.TestCase): # 初始化工作 def setUp(self): pass # 退出清理工作 def tearDown(self): pass def test_Case1(self): id = 16 data = {'id':id} a = TestInface.new_data(data) decide_result(a,0,'test_Case1')
3. Utilisez la suite pour gérer le cas
# TestSuite.py # -*- coding:utf-8 -*- import unittest import TestCase def test_InterFace(): # 构造测试集 suite = unittest.TestSuite() suite.addTest(TestCase("test_Case1")) # unittest中的测试用例 runner = unittest.TextTestRunner() runner.run(suite) # 对测试集进行测试需要返回值 # return suite if __name__ == '__main__': # unittest.main(defaultTest='test_InterFace') # 执行测试 runner = unittest.TextTestRunner() runner.run(test_InterFace())
4. Statistiques des données d'interface
# TestCensus.py # -*- coding:utf-8 -*- import time import TestSuite import send_email import TestCase class Test_Calss(): def census(self): text = '' # 初始化测试起始时间 start_time = time.time() # 调用suite测试集 TestSuite.test_InterFace() # 结束执行时间计算 end_time = time.time() result = TestCase.decide_Count() # 接口测试统计说明 total_use_case = u"执行用例总数:" + str(result['num_success'] + result['num_fail']) + \ u"\t通过数:" + str(result['num_success']) + \ u"\t不通过数:" + str(result['num_fail']) total_time = u"\t总共耗时:" + str(round((end_time - start_time), 3)) + u'秒' text = result['text'] + total_use_case + total_time print (text) # 发生测试报告邮件 send_email.email_file(text) if __name__ == '__main__': Test_Calss().census()
Recommandations associées :
Exemples d'utilisation de unittest en Python
Exemples d'utilisation concis de unittest, le framework de tests unitaires Python
Module unittest en Python Exemples d'utilisation de Do UT (tests unitaires)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!