首页 > 其他 > 详细

Unittest与Pytest参数化区别

时间:2021-05-19 01:16:26      阅读:18      评论:0      收藏:0      [点我收藏+]

unittest框架中参数化是使用的ddt,而pytest框架不兼容ddt,只能使用框架中mark里自带的一个参数化标签parametrize。

 Pytest参数化传参方式:

 关键代码:@pytest.mark.parametrize()

1 @pytest.mark.parametrize("参数名称", 获取的用例数据)
2 def login(参数名称):
3     pass

pytest和unittest数据驱动的区别:

 1 import unittest
 2 import ddt
 3 import pytest
 4 
 5 test_data = [
 6     {"name": "张三"},
 7     {"name": "李四"},
 8     {"name": "王五"}
 9 ]
10 
11 # pytest框架的参数化、数据驱动
12 @pytest.mark.parametrize("test_info", test_data)
13 # "test_info"是接收数据的变量名;test_data是需要传的数据
14 def test_ddt(test_info):
15     print(test_info["name"])
16     assert 1 == 1
17 
18 # unittest框架的参数化、数据驱动
19 @ddt.ddt
20 class TestDDT(unittest.TestCase):
21     @ddt.data(*test_data)
22     def test_ddt(self, test_info):
23         print(test_info["name"])
24         assert 1 == 1

 

 

Unittest与Pytest参数化区别

原文:https://www.cnblogs.com/zdx20/p/14782948.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!