自动化测试23

python的第三方测试框架,是基于unittest的扩展框架,比unittest更简洁,更高效.

规则如下:

  • 所有的单测文件名都需要满足test_*.py格式或*_test.py格式。
  • 在单测文件中,可以包含test_开头的函数,也可以包含Test开头的类。
  • 在单测类中,可以包含一个或多个test_开头的函数。

装饰器

单个参数传递

使用多个fixture
如果用例需要用到多个fixture的返回数据,fixture也可以返回一个元祖,list或字典,然后从里面取出对应数据

 

也可以分成多个fixture,然后在用例中传多个fixture参数

 

pytest之参数化—ddt 

@pytest.mark.parametrize("参数名",列表)
参数名:用来接收每一项数据,并作为测试用例的参数;

参数化与断言结合

  1.  
    import pytest
  2.  
     
  3.  
     
  4.  
    @pytest.mark.parametrize('input,sum_number', [('2+3', 5), ('2+5', 5), ('0+3', 5), ('2+7', 9)])
  5.  
    def test2(input, sum_number):
  6.  
    # eval()函数用来执行一个字符串表达式,并返回表达式的值。
  7.  
    assert eval(input) == sum_number
  8.  
     
  9.  
     
  10.  
    if __name__ == '__main__':
  11.  
    pytest.main()

 来自:https://blog.csdn.net/weixin_36410810/article/details/100584438?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522160980878416780258063876%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_id=160980878416780258063876&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-24-100584438.pc_search_result_no_baidu_js&utm_term=python%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95%E6%A1%86%E6%9E%B6

原文地址:https://www.cnblogs.com/xyt123/p/14233926.html