检查一下代码哪里有错:import unittest import os import requests from unittestreport import ddt, list_data from common.handle_excel import HandleExcel from common.handle_path import data_dir from common.handle_conf import conf from common.handle_conf import log @ddt class TestCase(unittest.TestCase): excel = HandleExcel(os.path.join(data_dir, "新建 XLSX 工作表 (2).xlsx"), "login") cases = excel.data_read() base_url = conf.get("evn", "base_url") @list_data(cases) def test_func(self, item): # 准备数据 # 接口地址、请求头、请求方法,预期结果 url = self.base_url + "/login" headers = {"Content-Type": "application/json", "charset": "UTF-8"} # 获取请求参数、 parms = eval(item["data"]) # 获取请求方法,并将其转化为小写 method = item["method"].lower() # 预期结果 excepted = eval(item["excepted"]) # 获取实际结果 response=requests.request(method=method, url=url, json=parms, headers=headers) res=response.json() # 断言 try: self.assertEqual(excepted["code"],res["code"]) self.assertEqual(excepted["msg"],res["msg"]) # self.assertdictin(excepted,res) except AssertionError as e: log.error("用例---【{}】--执行失败".format(item["title"])) log.error(e) raise e else: log.info("用例---【{}】--执行通过".format(item["title"])) # 成员断言 # def assertdictin(self, excepted, res): # for k, v in excepted.items(): # if res.get(k) == v: # pass # else: # raise AssertionError("{}[k,v]not in {}".format(excepted, res))
时间: 2024-02-14 10:25:22 浏览: 62
python_plugin_unittest.rar_The Test_unittest python
在代码的最后,你注释掉了一个`assertdictin`方法,但是在`test_func`方法中调用了这个方法。这就导致了调用失败。你可以取消注释`assertdictin`方法,或者在`test_func`方法中直接使用`self.assertDictEqual(excepted, res)`进行断言。
阅读全文