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

python單元測試框架pytest介紹

 更新時間:2022年06月30日 09:16:51   作者:小旭2021  
這篇文章介紹了python的單元測試框架pytest,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

pytest是python語言中一款強(qiáng)大的單元測試框架,用來管理和組織測試用例,可應(yīng)用在單元測試、自動化測試工作中。

unittest也是python語言中一款單元測試框架,但是功能有限,沒有pytest靈活。

就像:蘋果電腦mac air和mac pro一樣。都是具備同樣的功能,但是好用,和更好用。

本文包含以下幾個內(nèi)容點:

  • 1)pytest的簡單示例
  • 2)pytest的安裝
  • 3)pytest的特征、與unittest的區(qū)別。
  • 4) pytest如何自動識別用例。
  • 5)pytest框架中,用例的運(yùn)行順序。

1)pytest寫用例很簡單

下面是一個簡單的例子:

import random

def test_demo():
assert 7 == random.randint(0,10)

運(yùn)行結(jié)果如下:

============================= test session starts =============================
platform win32 -- Python 3.7.2, pytest-4.6.3, py-1.8.0, pluggy-0.12.0
rootdir: D:\Pychram-Workspace\STUDY_PYTEST
plugins: allure-pytest-2.6.5, html-1.21.1, metadata-1.8.0, rerunfailures-7.0collected 1 item
 
simple.py F
simple.py:10 (test_demo)
7 != 6
 
Expected :6
Actual   :7
 
========================== 1 failed in 0.14 seconds ===========================

2)pytest的安裝

安裝命令:

pip install pytest

3)pytest的特征、與unittest的區(qū)別。

pytest的特征如下:

  • 3.1 自動識別測試用例。(unittest當(dāng)中,需要引入TestSuite,主動加載測試用例。)
  • 3.2 簡單的斷言表達(dá):assert表達(dá)式即可。(unittest當(dāng)中,self.assert*)
  • 3.3 有測試會話、測試模塊、測試類、測試函數(shù)級別的fixture。(unittest當(dāng)中是測試類、測試函數(shù)級別的fixture)
  • 3.4有非常豐富的插件,目前在600+,比如allure插件。(unittest無)
  • 3.5測試用例不需要封裝在測試類當(dāng)中。(unittest中需要自定義類并繼承TestCase)

那么pytest是如何自動識別測試用例的呢?我們在編寫pytest用例的時候,需要遵守哪些規(guī)則呢?

4) pytest如何自動識別用例

識別規(guī)則如下:

1、搜索根目錄:默認(rèn)從當(dāng)前目錄中搜集測試用例,即在哪個目錄下運(yùn)行pytest命令,則從哪個目錄當(dāng)中搜索;

2、搜索規(guī)則:

1)搜索文件:符合命名規(guī)則 test_*.py 或者 *_test.py 的文件

2)在滿足1)的文件中識別用例的規(guī)則:

  • 2.1)以test_開頭的函數(shù)名;
  • 2.2)以Test開頭的測試類(沒有__init__函數(shù))當(dāng)中,以test_開頭的函數(shù)

示例:在D:\pycharm_workspace目錄下,創(chuàng)建一個python工程,名為study_pytest。在工程下,創(chuàng)建一個python包,包名為TestCases。

在包當(dāng)中,創(chuàng)建一個測試用例文件:test_sample_1.py。文件內(nèi)容如下:

 #!/usr/bin/python3
 # -*- coding: utf-8 -*-

 # 定義py文件下的測試用例
 def test_sample():
     print("我是測試用例!")

 class TestSample:

     def test_ss(self):
         print("我也是測試用例!")

     def hello_pytest(self):
         print("hi,pytest,我不是用例哦??!")

按照上面定義的搜索規(guī)則,需要跳轉(zhuǎn)到工程目錄,然后再執(zhí)行命令:pytest -v 。 執(zhí)行結(jié)果如下:

讓我們愉快的加進(jìn)來第2個測試文件:test_sample_2.py,內(nèi)容如下:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
 
def add(a,*args):
    sum = a
    for item in args:
        sum += item
    return sum
 
 
def test_add_two_number():
    assert 33 == add(11,22)
    assert 55.55 == add(22.22,33.33)
 
 
def test_add_three_number():
    assert 101 == add(10,90,1)

再次運(yùn)行命令:pytest -v 得到如下結(jié)果:

通過多個用例文件的執(zhí)行,可以看出用例的執(zhí)行順序。

5) pytest中用例的執(zhí)行順序

原則:先搜索到的py文件中的用例,先執(zhí)行。在同一py文件當(dāng)中,按照代碼順序,先搜索到的用例先執(zhí)行。

到此這篇關(guān)于python單元測試框架pytest的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python實現(xiàn)馬丁策略回測3000只股票的實例代碼

    python實現(xiàn)馬丁策略回測3000只股票的實例代碼

    這篇文章主要介紹了python實現(xiàn)馬丁策略回測3000只股票,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Python的字符串操作簡單實例

    Python的字符串操作簡單實例

    這篇文章主要介紹了Python的字符串操作簡單實例,字符串有許多種操作方式,本文帶來幾個操作實例,快來一起看看吧
    2023-04-04
  • 分享7個 Python 實戰(zhàn)項目練習(xí)

    分享7個 Python 實戰(zhàn)項目練習(xí)

    這篇文章主要介紹了分享7個 Python 實戰(zhàn)項目代碼,經(jīng)過Python3.6.4調(diào)試通過的代碼,就具一點的參考價值,需要的小伙伴可以參考一下
    2022-03-03
  • python檢測IP地址變化并觸發(fā)事件

    python檢測IP地址變化并觸發(fā)事件

    這篇文章主要為大家詳細(xì)介紹了python檢測IP地址變化并觸發(fā)事件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Django用戶認(rèn)證系統(tǒng) Web請求中的認(rèn)證解析

    Django用戶認(rèn)證系統(tǒng) Web請求中的認(rèn)證解析

    這篇文章主要介紹了Django用戶認(rèn)證系統(tǒng) Web請求中的認(rèn)證解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Pytorch中的torch.nn.Linear()方法用法解讀

    Pytorch中的torch.nn.Linear()方法用法解讀

    這篇文章主要介紹了Pytorch中的torch.nn.Linear()方法用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python文件操作的基礎(chǔ)詳細(xì)講解(write、read、readlines、readline)

    python文件操作的基礎(chǔ)詳細(xì)講解(write、read、readlines、readline)

    使用python來讀寫文件是非常簡單的操作,下面這篇文章主要給大家介紹了關(guān)于python文件操作的基礎(chǔ)詳細(xì)資料,包括write、read、readlines、readline等相關(guān)操作,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • Pytorch 實現(xiàn)權(quán)重初始化

    Pytorch 實現(xiàn)權(quán)重初始化

    今天小編就為大家分享一篇Pytorch 實現(xiàn)權(quán)重初始化,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python中if和elif的區(qū)別介紹

    python中if和elif的區(qū)別介紹

    這篇文章主要介紹了python中if和elif的區(qū)別,下面文章將舉多個例子圍繞if和eli的相關(guān)資料展開內(nèi)容,需要的朋友可以參考一下,希望對你有所幫助
    2021-11-11
  • Python中zip()函數(shù)用法實例教程

    Python中zip()函數(shù)用法實例教程

    這篇文章主要介紹了Python中zip()函數(shù)用法實例教程,對Python初學(xué)者有一定的借鑒價值,需要的朋友可以參考下
    2014-07-07

最新評論