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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值