Maison > Article > base de données > Explication détaillée des étapes d'utilisation de l'interface de test unittest en Python
Cette fois, je vais vous apporter une explication détaillée des étapes d'utilisation de l'interface de test unittest en python Quelles sont les précautions pour utiliser l'interface de test unittest en python ? Voici un cas pratique.
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. Utiliser la suite pour gérer les 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()
Je crois que vous maîtrisez la méthode après avoir lu le cas dans cet article Veuillez payer. attention pour des choses plus excitantes. Autres articles connexes sur le site Web chinois php !
Lecture recommandée :
Comment convertir des listes, des tableaux et des matrices entre eux en python
Comment convertir matrices en Python Convertir en liste
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!