zoukankan      html  css  js  c++  java
  • Unittest与Pytest参数化区别

    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

     

     

  • 相关阅读:
    数据库存储语句
    数据库练习总结
    数据库练习
    数据库增添
    数据库创建
    cookie 和 session的区别 & 三种传值方式
    内置对象——cookie
    webform跨页面传值
    复合控件
    repeater(控件)数据展示
  • 原文地址:https://www.cnblogs.com/zdx20/p/14782948.html
Copyright © 2011-2022 走看看