ddt-TypeError: test_add_department_1() missing 3 required positional arguments

使用python+unittest实现接口自动化,在数据驱动,使用ddt时,提示“TypeError: test_add_department_1() missing 3 required positional arguments: 'req_data', 'res_key', and 'res_value'”。

代码如下: 

import unittest
import requests
import json
from config.ProjectConfig import ETConfig
from testcase.data.DepartmentData import ADD_DATA
from ddt import ddt,data,unpack
from common.wrapers import *
#这里竟然可以只导入一个对象
from common.HttpReq import HttpReq

class AddDepartmentTest(unittest.TestCase):
    """添加学院信息"""

    def setUp(self):
        pass
        self.url =ETConfig.url

    @data(ADD_DATA['test_add_department_001'])
    @unpack
    @write_case_log()
    def test_add_department_1(self,req_data,res_key,res_value):
        print(req_data,res_key,res_value)
        # data = {
        #     "data": [
        #         {
        #             "dep_id": "T",
        #             "dep_name": "T",
        #             "master_name": "T",
        #             "slogan": "H"
        #
        #         }
        #     ]
        # }
        # r=requests.post(self.url,data)
        # r=HttpReq.post(self,url=self.url,data=req_data)
        # # print("状态码为:"+r)
        # print("响应文本为:"+r.text)
        # r=json.loads(r.text)
        # self.assertEqual(r[res_key]['count'],res_value)
        # print("{}执行成功".format(self._testMethodName))


if __name__ == '__main__':
    # unittest.main()
    suite=unittest.TestSuite()
    suite.addTest(AddDepartmentTest("test_add_department_1"))
    runner=unittest.TextTestResult()
    test_result=runner.run(suite)

这里明明报错,说明没识别到传进去的三个参数。

解决办法:应该在测试类前面使用@ddt,解决。

这里是因为看了一个教程,教程上只写了在测试用例前需要加装饰,没写在测试类前也需要,导致出现问题。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要找到该文本中的REGRESSIONS哈希表并填入新的内容,你可以按照以下步骤进行操作: 1. 首先,找到文本中的REGRESSIONS哈希表。它位于代码的顶部,紧接着require和require语句之后。 2. 在找到REGRESSIONS哈希表后,你可以根据自己的需要添加新的内容。哈希表中的每个键值对表示一个回归测试。键是回归测试的名称,值是一个哈希表,包含一个名为filters的键和对应的过滤器数组。 3. 你可以在现有的回归测试中添加新的过滤器数组,或者创建一个新的回归测试。确保过滤器数组中的过滤器与代码中其他部分的命名一致。 4. 保存修改后的代码。 以下是一个示例,展示如何在REGRESSIONS哈希表中添加一个新的回归测试: ```ruby REGRESSIONS = { sip_sanity_regression: {filters: ["/kernel", "verif/mac", "/salu", "/clse", "/slse", "/vpt", "/sfu", "/valu", "/malu", "verif/slsb", "verif/vlsb", "/plc", "/xpu", "verif/ifid", "/excp", "/debugger", "/spec_inst","/top"]}, test_regressiond: {filters: ["xpu", "dpv"]}, test_regressiond: {filters: ["xpsdasdsau", "dpv"]}, test_regressiond: {filters: ["xpdsadsadsadsadsau", "dpv"]}, test_regressiond: {filters: ["xdsadasdaddddddddddddddddddddddpu", "dpv"]}, sip_sfu_regression: {filters: ["sfu_rand_test", "sfu_acfun_rand_test", "sfu_rng_rand_test"]}, sip_sys_isa_regression: {filters: ["xpu0", "xpu1", "salu", "vldst", "malu"]}, new_regression: {filters: ["filter1", "filter2"]} # 添加新的回归测试 } ``` 请注意,这只是一个示例,你需要根据你的实际需求修改过滤器数组和回归测试名称。确保新添加的回归测试名称是唯一的。 希望这可以帮助到你!如果你还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值