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

     

     

  • 相关阅读:
    hdoj:2033
    hdoj:2032
    hdoj:2031
    hdoj:2029
    hdoj:2028
    hdoj:2027
    hdoj:2024
    hdoj:2023
    hdoj:2022
    hdoj:题目分类
  • 原文地址:https://www.cnblogs.com/zdx20/p/14782948.html
Copyright © 2011-2022 走看看