上一篇博客我们讲述ddt数据驱动,ddt能够使得输入M组数据,ddt框架会自动构造出M个测试用例。在unittest我们还有一个模块也可以实现它,就是paramunittest模块。也能实现和ddt一样的效果
pip install paramunittest
下面我使用聚合报告的‘历史上的今天’的api为例;
import paramunittest
import unittest
import requests
@paramunittest.parametrized(
{
"month": 1, "day": 25},
{
"month": 1, "day": 26},
{
"month": 1, "day": 27},
{
"month": 1, "day": 28}
)
class TestDttDemo(unittest.TestCase):
def setParameters(self,month,day):
# 这里接受的参数month,day必须和前面定义的元祖里面嵌套字典字段保持一致
self.month = month
self.day = day
def setUp(self) -> None:
print('开始')
def tearDown(self) -> None:
print('结束')
def test_Api(self):
url = 'http://api.juheapi.com/japi/toh'
data = {
"key": "7486da7f50cd55e6774fb3311b526d8a",
"v": '1.0',
"month": self.month,
"day": self.day
}
response = requests.post(url=url,data=data)
print(response.json())
if __name__ == '__main__':
# verbosity = 2 可以显示用例的详情
unittest.main(verbosity=2)
大家可以尝试一下将结果写入BeautifulReport报告中,这里我就不多此一举了。如果不会可以看一下博主前面生成测试报告的博客,对照‘依葫芦画瓢’即可
ps :
1、后续内容继续深入unittest的学习;
2、有什么问题,欢迎大家评论区评论交流!谢谢大家!
3、如果觉得博主这篇博客对大家有用,麻烦评论区留下自己的‘脚印’ !