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

Pytest中conftest.py的用法

 更新時(shí)間:2021年06月27日 15:12:12   作者:RockChe''''s Blog  
conftest.py文件到底該如何使用呢,下面我們就來詳細(xì)了解一下conftest.py文件的特點(diǎn)和使用方法吧,感興趣的小伙伴們可以參考一下

前言

在之前介紹fixture的文章中,我們使用到了conftest.py文件,那么conftest.py文件到底該如何使用呢,下面我們就來詳細(xì)了解一下conftest.py文件的特點(diǎn)和使用方法吧

什么是conftest.py

我們之前了解了fixture,fixture可以直接定義在測(cè)試腳本中,但是有些時(shí)候,我們希望一個(gè)fixture可以被復(fù)用,這就需要對(duì)fixture進(jìn)行集中管理,Pytest使用文件conftest.py集中管理固件.在復(fù)雜的項(xiàng)目中,可以在不同的目錄層級(jí)定義conftest.py,其作用域?yàn)槠渌诘哪夸浐妥幽夸洠ǔG闆r下,conftest.py@pytest.fixture()會(huì)結(jié)合使用,來實(shí)現(xiàn)全局的前后置處理。

conftest.py特點(diǎn)

  • conftest.py文件的名稱是固定的,不能修改
  • conftest.py與運(yùn)行的用例要在同一個(gè)pakage下,并且有__init__.py文件
  • 不需要import導(dǎo)入conftest.py文件,pytest用例會(huì)自動(dòng)識(shí)別該文件,放到根目錄下可以全局目錄調(diào)用,放在某個(gè)package下,那就在該package內(nèi)有效
  • 不同目錄可以有自己的conftest.py,一個(gè)項(xiàng)目中可以有多個(gè)conftest.py
  • pytest會(huì)默認(rèn)讀取conftest.py里面的所有fixture,所有同目錄測(cè)試文件運(yùn)行前都會(huì)執(zhí)行conftest.py文件

conftest.py用法

在我們實(shí)際的測(cè)試中,conftest.py文件需要結(jié)合fixture來使用,所以fixture中參數(shù)scope也適用conftest.py中fixture的特性,這里再說明一下

  • conftest中fixture的scope參數(shù)為session,所有的測(cè)試文件執(zhí)行前(后)執(zhí)行一次conftest.py文件中的fixture。
  • conftest中fixture的scope參數(shù)為module,每一個(gè)測(cè)試.py文件執(zhí)行前(后)都會(huì)執(zhí)行一次conftest.py文件中的fixture
  • conftest中fixture的scope參數(shù)為class,每一個(gè)測(cè)試文件中的測(cè)試類執(zhí)行前(后)都會(huì)執(zhí)行一次conftest.py文件中的fixture
  • conftest中fixture的scope參數(shù)為function,所有文件的測(cè)試用例執(zhí)行前(后)都會(huì)執(zhí)行一次conftest.py文件中的fixture

conftest.py實(shí)際案例

我們按照這樣的目錄新建一個(gè)項(xiàng)目

在根目錄conftestdemo下

根目錄中的conftest.py文件中,一般寫全局的fixture,比如登錄

conftest.py

import pytest


@pytest.fixture(scope="session")
def login():
    print("***登錄成功,返回用戶名***")
    name = "rockche"
    yield name
    print("***退出登錄***")


@pytest.fixture(autouse=True)
def get_name(login):
    name = login
    print(f"--每個(gè)用例都調(diào)用外層fixiture:打印用戶name:{name}--")

根目錄下的測(cè)試用例

test_1.py

def test_get_name(login):
    name = login
    print("***基礎(chǔ)用例:獲取用戶name***")
    print(f"用戶名:{name}")

運(yùn)行conftestdemo下的所有用例

run.py

import pytest

if __name__ == '__main__':
    pytest.main(["-s", "../conftestdemo/"])

test_baidu目錄下

配置針對(duì)baidu網(wǎng)站的測(cè)試用例獨(dú)有的fixture

conftest.py

import pytest


@pytest.fixture(scope="module")
def open_baidu(login):
    name = login
    print(f"用戶 {name} 打開baidu")

test_case1.py

def test_case2_01(open_baidu):
    print("搜索pytest")


def test_case2_02(open_baidu):
    print("搜索博客園")

test_cnblogs目錄下

沒有__init__.py文件也沒有conftest.py文件

test_case1.py

def test_no_fixture(login):
    print("沒有__init__文件,直接進(jìn)入cnblogs", login)

test_taobao目錄下

配置針對(duì)taobao網(wǎng)站的測(cè)試用例獨(dú)有的fixture

conftest.py

import pytest


@pytest.fixture(scope="function")
def open_taobao(login):
    name = login
    print(f"用戶 {name} 進(jìn)入淘寶")

test_case1.py

class TestTaobao:
    def test_case1_01(self, open_taobao):
        print("選購(gòu)商品")

    def test_case1_02(self, open_taobao):
        print("進(jìn)入結(jié)算界面")

運(yùn)行run.py

到此這篇關(guān)于Pytest中conftest.py的用法的文章就介紹到這了,更多相關(guān)Pytest conftest.py內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中使用dwebsocket實(shí)現(xiàn)后端數(shù)據(jù)實(shí)時(shí)刷新

    Python中使用dwebsocket實(shí)現(xiàn)后端數(shù)據(jù)實(shí)時(shí)刷新

    dwebsocket是Python中一款用于實(shí)現(xiàn)WebSocket協(xié)議的庫(kù),可用于后端數(shù)據(jù)實(shí)時(shí)刷新。在Django中結(jié)合使用dwebsocket和Channels,可以實(shí)現(xiàn)前后端的實(shí)時(shí)通信,支持雙向數(shù)據(jù)傳輸和消息推送,適用于實(shí)時(shí)聊天、數(shù)據(jù)監(jiān)控、在線游戲等場(chǎng)景
    2023-04-04
  • Python3實(shí)現(xiàn)的字典、列表和json對(duì)象互轉(zhuǎn)功能示例

    Python3實(shí)現(xiàn)的字典、列表和json對(duì)象互轉(zhuǎn)功能示例

    這篇文章主要介紹了Python3實(shí)現(xiàn)的字典、列表和json對(duì)象互轉(zhuǎn)功能,結(jié)合實(shí)例形式分析了Python使用json模塊針對(duì)json格式數(shù)據(jù)編碼轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • 使用Python進(jìn)行數(shù)據(jù)備份的指南大全

    使用Python進(jìn)行數(shù)據(jù)備份的指南大全

    利用Python進(jìn)行數(shù)據(jù)備份與恢復(fù)是一種常見的做法,對(duì)于數(shù)據(jù)庫(kù),你可以使用Python中的數(shù)據(jù)庫(kù)連接庫(kù)(如sqlite3、SQLAlchemy等)連接到數(shù)據(jù)庫(kù),然后執(zhí)行備份操作,將數(shù)據(jù)庫(kù)的內(nèi)容保存到一個(gè)備份文件中,本文給大家介紹了使用Python進(jìn)行數(shù)據(jù)備份的指南大全,需要的朋友可以參考下
    2024-05-05
  • python如何用正則表達(dá)式提取字符串

    python如何用正則表達(dá)式提取字符串

    這篇文章主要介紹了python如何用正則表達(dá)式提取字符串問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2023-03-03
  • pygame庫(kù)pgu使用示例代碼

    pygame庫(kù)pgu使用示例代碼

    pgu全稱是Phil’s pyGame Utilities,是pygame的一組模塊與腳本,其中還有g(shù)ui集成了一些小模塊,現(xiàn)在用pygame制作小游戲的人越來越多,但是pygame它是沒有彈窗機(jī)制的,今天通過本文給大家介紹pygame庫(kù)pgu使用示例代碼,需要的朋友參考下吧
    2021-08-08
  • 使用python實(shí)現(xiàn)三維圖可視化

    使用python實(shí)現(xiàn)三維圖可視化

    這篇文章主要介紹了使用python實(shí)現(xiàn)三維圖可視化,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • django框架forms組件用法實(shí)例詳解

    django框架forms組件用法實(shí)例詳解

    這篇文章主要介紹了django框架forms組件用法,結(jié)合實(shí)例形式詳細(xì)分析了Django框架forms組件源碼及常用操作方法與使用注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • 一些讓Python代碼簡(jiǎn)潔的實(shí)用技巧總結(jié)

    一些讓Python代碼簡(jiǎn)潔的實(shí)用技巧總結(jié)

    隨著項(xiàng)目代碼行數(shù)的增加,不可避免的遇到軟件架構(gòu)腐敗的問題,所以如何寫出簡(jiǎn)潔的代碼至關(guān)重要,這篇文章主要給大家介紹了一些讓Python代碼簡(jiǎn)潔的實(shí)用技巧,需要的朋友可以參考下
    2021-08-08
  • Django視圖類型總結(jié)

    Django視圖類型總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于Django視圖類型的總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-02-02
  • Python+Pytorch實(shí)戰(zhàn)之彩色圖片識(shí)別

    Python+Pytorch實(shí)戰(zhàn)之彩色圖片識(shí)別

    這篇文章主要為大家詳細(xì)介紹了如何利用Python+Pytorch實(shí)現(xiàn)彩色圖片識(shí)別功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-09-09

最新評(píng)論