美文网首页
TypeError: addTest() missing 1 r

TypeError: addTest() missing 1 r

作者: hao0_0 | 来源:发表于2020-01-09 18:07 被阅读0次

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  后面缺少括号。

加上括号就好了。

相关文章

网友评论

      本文标题:TypeError: addTest() missing 1 r

      本文链接:https://www.haomeiwen.com/subject/ljfuactx.html