欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python pytest裝飾器總結(jié)(實(shí)例詳解)

 更新時(shí)間:2021年04月28日 09:56:23   作者:Mavis保護(hù)神  
這篇文章主要介紹了Python pytest裝飾器總結(jié),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

幾個(gè)常用裝飾器

pytest.ini 配置文件 例子:

[pytest]
addopts = -v -s --html=py_test/scripts/report/report.html -p no:warnings  --reruns=10
 
testpaths = ./py_test/scripts
python_files= test_rerun.py
python_classes = Test*
python_function = test*
xfail_strict = true

addopts: OPTS 命令行參數(shù)集

-s:表示輸出調(diào)試信息,包括 print打印的信息
-v:顯示更詳細(xì)的信息
-vs:這兩個(gè)參數(shù)一起用
-n :支持多線程或者分布式運(yùn)行測(cè)試用例
     如:pytest -vs ./testcase/test_login.py -n 2
--html : 測(cè)試報(bào)告位置
--reruns : 失敗重跑
-p no:warnings  : 取消警告
--ff : 先執(zhí)行上次失敗的用例
--lf : 只執(zhí)行上次失敗的用例
-x : 遇到測(cè)試用例fail,就結(jié)束測(cè)試
--maxfail=num:遇到num條測(cè)試用例fail, 就結(jié)束測(cè)試 
-k :根據(jù)測(cè)試用例的部分字符串指定測(cè)試用例
  	如:pytest -vs ./testcase -k “ao”

skipif-跳過(guò)測(cè)試

跳過(guò)測(cè)試的使用方法

pytest.skip (用于函數(shù)內(nèi),跳過(guò)測(cè)試用例)

def test_2():
    if 1 < 2:
        pytest.skip('1111111')
    pass

@pytest.mark.skip(用于函數(shù)外,跳過(guò)測(cè)試用例)

@pytest.mark.skip(reason='feature not implemented')
def test_1():
    pass
 
# 模塊級(jí)別跳過(guò)。(注:參數(shù)allow_module_level的值設(shè)為T(mén)rue)
pytest.skip('skip all tests', allow_module_level=True)

@pytest.mark.skipif(用于函數(shù)外,條件condition,跳過(guò)原因reason="xxx")

@pytest.mark.skipif(condition='1<2',reason='feature not implemented')
def test_1():
    pass

ordering-執(zhí)行順序

  1. 控制用例執(zhí)行順序的方法
  2. 在需要調(diào)整用例執(zhí)行順序的函數(shù)(或方法)前增加

@pytest.mark.run(order=x) x表示

3.數(shù)字?jǐn)?shù)字形式: 小數(shù)、整數(shù)、負(fù)數(shù)

執(zhí)行順序:

1、由小到大

2、由正到負(fù)

3、未標(biāo)記 的在正數(shù)后,負(fù)數(shù)前執(zhí)行

順序: 1,2,3,無(wú)標(biāo)記,-3,-2,-1

xfail-預(yù)期失敗

xfail-預(yù)期失敗的函數(shù)
語(yǔ)法

xfail(condition, reason)
--condition 預(yù)期失敗的條件
--reason 預(yù)期失敗的原因

pytest.ini加參數(shù),

不希望出現(xiàn) 預(yù)期失敗結(jié)果成功 的情況
就在配置文件中添加一個(gè)參數(shù):
xfail_strict = true

fixture-函數(shù)作參數(shù)

fixture用途:可將被fixture標(biāo)記的函數(shù)當(dāng)作參數(shù)使用
掌握一個(gè)fixture 實(shí)現(xiàn) setup 和 tearduwn
yield 關(guān)鍵字
yield 后邊代碼是用例執(zhí)行完后再執(zhí)行的。相當(dāng)于teardown
當(dāng)用例執(zhí)行完之后, 會(huì)執(zhí)行yield 后面的代碼,但不能 return
addfinalize 關(guān)鍵字
這個(gè)實(shí)現(xiàn)功能跟yield的一樣, 但可以用return,將參數(shù)傳給后面的用例.
fixture 可放到conftest.py文件下
conftest.py會(huì)自動(dòng)識(shí)別 哪個(gè)用例調(diào)用了這個(gè)函數(shù)

parametrize-參數(shù)化

parametrize(argnames,argvalues)
--argnames : 參數(shù)名
--argvalues : 參數(shù)值, 數(shù)據(jù)類(lèi)型是 list
語(yǔ)法
@pytest.mark.parametrize
@pytest.mark.parametrize("mobile,code", [(121,212),(123,321)])

rerunfailure-失敗重跑

失敗重跑機(jī)制
安裝pytest-rerunfailure
在設(shè)置文件pytest.ini中添加命令
reruns = 重跑次數(shù)
addopts = --reruns=10

鏈接Mysql

一.環(huán)境搭建

對(duì)接mysql數(shù)據(jù)庫(kù)需要通過(guò)第三方庫(kù)PyMySQl

二.數(shù)據(jù)庫(kù)操作

建立數(shù)據(jù)庫(kù)連接 :MySQlconnect = pymysql.connect(“數(shù)據(jù)庫(kù)地址“,“數(shù)據(jù)庫(kù)端口“,”數(shù)據(jù)庫(kù)賬號(hào)“等)

獲取操作游標(biāo): cursor = MySQlconnect .cursor()

執(zhí)行SQL語(yǔ)句:cursor .execute(“SQL語(yǔ)句”)

獲取一條數(shù)據(jù):data = cursor.fetchone()

獲取結(jié)果(讀):cursor.fetchall()

提交更改(寫(xiě)):MySQlconnect .commit()

關(guān)閉游標(biāo):cursor.close()

關(guān)閉連接 :MySQlconnect .close()

到此這篇關(guān)于Python pytest裝飾器總結(jié)的文章就介紹到這了,更多相關(guān)pytest裝飾器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論