TypeError: addTest() missing 1 required positional argument: 'test'

unittest做接口自动化单文件时,遇到这个问题:TypeError: addTest() missing 1 required positional argument: 'test'

浪费了好多时间定位解决,所以分享出来,免的大家也浪费时间在这小事上面。

import json

import requests

import unittest

# from requests_demo.demo04 import RunMain

class RunMain:

def send_post(self, url, data):# 定义一个方法,传入需要的参数url和data

# 参数必须按照url、data顺序传入

        result = requests.post(url=url, data=data).json()# 因为这里要封装post方法,所以这里的url和data值不能写死

        res = json.dumps(result,ensure_ascii=False,sort_keys=True,indent=2)

return res

# print res

    def send_get(self, url, data):

result = requests.get(url=url, data=data)

res = json.dumps(result,ensure_ascii=False,sort_keys=True,indent=2)

return res

def run_main(self, method, url=None, data=None):

result =None

        if method =='post':

result =self.send_post(url, data)

elif method =='get':

result =self.send_get(url, data)

else:

print("错误!!!!!!!!!")

return result

class TestRun(unittest.TestCase):

def setUp(self):

self.run_main1 = RunMain()# 测试用例必须以test开头

    def tearDown(self):

pass

    def test_01(self):

url ='http://admin/login'

        data = {

"username":"tesM",

            "password":"1567657",

        }

res =self.run_main1.run_main('post', url, data)

res = json.loads(res)

self.assertEqual(res['code'], 0)

if __name__ =='__main__':

# 实例化TestSuite创建测试套件

    suite = unittest.TestSuite

# 把用例test_01添加到测试套件中

    suite.addTest(TestRun("test_01"))

# run()方法是运行测试套件的测试用例,入参为suite测试套件。

# unittest.TextTestRunner().run(suite)

    runner = unittest.TextTestRunner()

runner.run(suite)

原因是: suite = unittest.TestSuite    后面缺少一个括号。

或者unittest.TextTestRunner  后面缺少括号。

加上括号就好了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容