# ddt要与unittest框架一起使用,列表中有几个元素,用例就循环几次,@ddt.data(*list)要在用例前声明
import unittest
import requests
import ddt
list05 = [{"dep_id":"T01","dep_name":"Test学院","master_name":"Test-Master","slogan":"HereisSlogan", "code": 201},
{"dep_id":"T02","dep_name":"python学院","master_name":"python-Master","slogan":"HereisSlogan", "code": 201},
{"dep_id":"T03","dep_name":"java学院","master_name":"java-Master","slogan":"HereisSlogan", "code": 201}]
# 实例化ddt
@ddt.ddt()
class Testcase(unittest.TestCase):
# 将list05的数据传输入用例中
@ddt.data(*list05)
def test02(self, dp):
# dp即为list05其中的元素,格式是字典
dptid = dp["dep_id"]
dptname = dp["dep_name"]
mastername = dp["master_name"]
slogan = dp["slogan"]
url02 = "http://127.0.0.1:8000/api/departments/"
myheader = {"Content-Type": "application/json"}
data02 = '{"data":[{"dep_id":"%s","dep_name":"%s","master_name":"%s","slogan":"%s"}]}' % (dptid, dptname, mastername, slogan)
print(data02)
reqst02 = requests.post(url02, data=data02.encode("utf-8"), headers=myheader)
print(reqst02.text)
print(reqst02.status_code)
print(reqst02.url)
self.assertEqual(dp["code"], reqst02.status_code)
if __name__ == '__main__':
unittest.main()