成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python單元測試卷架構(gòu)pytest詳細介紹

89542767 / 629人閱讀

  此篇文章詳細介紹了python的單元測試卷架構(gòu)pytest,原文中根據(jù)實例編碼推薦的十分詳盡。對大家學習培訓和工作具有很強的參照參考意義,需要的小伙伴可以必須


  pytest是python語言表達中一個強悍的單元測試卷架構(gòu),用于管理方法和管理功能測試,可運用在單元測試卷、功能測試工作上。


  unittest也是python語言表達中一個單元測試卷架構(gòu),可是作用比較有限,沒有pytest靈便。


  如同:蘋果公司電腦macair和macpro相同。全是具有相同的作用,可是實用,和更佳用。


  文中包括以下幾種具體內(nèi)容點:


  1)pytest的簡易實例


  2)pytest的組裝


  3)pytest的特點、與unittest的差別。


  4)pytest怎樣自動檢索測試用例。


  5)pytest架構(gòu)中,測試用例的運轉(zhuǎn)次序。


  1)pytest寫用例很簡單


  下面是一個簡單的例子:


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


  運行結(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-WorkspaceSTUDY_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當中,需要引入TestSuite,主動加載測試用例。)


  3.2簡單的斷言表達:assert表達式即可。(unittest當中,self.assert*)


  3.3有測試會話、測試模塊、測試類、測試函數(shù)級別的fixture。(unittest當中是測試類、測試函數(shù)級別的fixture)


  3.4有非常豐富的插件,目前在600+,比如allure插件。(unittest無)


  3.5測試用例不需要封裝在測試類當中。(unittest中需要自定義類并繼承TestCase)


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


  4)pytest如何自動識別用例


  識別規(guī)則如下:


  1、搜索根目錄:默認從當前目錄中搜集測試用例,即在哪個目錄下運行pytest命令,則從哪個目錄當中搜索;


  2、搜索規(guī)則:


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


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


  2.1)以test_開頭的函數(shù)名;


  2.2)以Test開頭的測試類(沒有__init__函數(shù))當中,以test_開頭的函數(shù)


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


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


  #!/usr/bin/  #!/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é)果如下:

01.png

  讓我們愉快的加進來第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():
      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é)果如下:

02.png

  讓我們愉快的加進來第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)


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

03.png

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


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


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


  綜上所述,這篇文章就給大家介紹到這里了,希望可以給各位讀者帶來幫助。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/128735.html

相關(guān)文章

  • python+pytest自動化技術(shù)試函數(shù)試類試標準的封裝形式

      本文關(guān)鍵闡述了python+pytest自動化技術(shù)測試函數(shù)測試類測試標準的封裝形式,文章內(nèi)容緊扣主題開展詳盡的基本介紹,具有很強的實用價值,務必的朋友可以學習一下  序言  那么今天,我想跟大家聊聊python+pytest接口自動化里將編碼開展封裝形式,只有把測試程序開展封裝形式,才會被測試框架鑒別實行?! ±鐔为毑蹇谝缶幋a如下所示:  importrequests   headers=...

    89542767 評論0 收藏0
  • 軟件試需要學什么?50W+的試工程師需要掌握哪些技能?

    摘要:協(xié)議學習常見請求方法學習和學習接口的基本概念接口文檔認識接口測試用例編寫接口測試工具使用軟件測試自動化進階性能測試性能測試的技術(shù)要求很高,不僅僅要對性能測試的指標測試分類測試設計有很深刻的理解。 ...

    wushuiyong 評論0 收藏0
  • 做完自動化試,但別讓不會匯報毀了你...

    摘要:前端自動化測試百度搜索功能實戰(zhàn)可以與結(jié)合生成測試報告。以網(wǎng)頁版本的百度為例,百度首頁呈現(xiàn)的功能新聞網(wǎng)頁貼吧知道音樂圖片視頻地圖等,我們以百度網(wǎng)頁的搜索功能為例,使用結(jié)合自動化測試框架,完成一個搜索功能的測試。 ...

    HelKyle 評論0 收藏0
  • Pytest架構(gòu)之fixture詳細說明(三)

      原文中詳細的講解了Pytest架構(gòu)之fixture,原文中根據(jù)實例編碼推薦的十分詳盡。對大家學習培訓和工作具有很強的參閱參考意義,需用的小伙伴可以參考一下  原文中有關(guān)fixture的具體內(nèi)容如下所示:  1、參數(shù)化設計fixture  2、fixture工廠  3、request這一fixture  1、參數(shù)化設計fixture  fixture有個params主要參數(shù),容許大家傳送數(shù)據(jù)?!?..

    89542767 評論0 收藏0
  • Pytest試報告工具Allure用法介紹

      小編寫這篇文章的一個主要目的,主要是給大家介紹Python Pytest工具的介紹,主要是用來做測試報告工具用的,涵蓋的測試報告工具還是比較的多的,比如會使用到ALLure工具,具體怎么使用呢?下面就給大家詳細介紹下?! 『喗椤 llure Framework是一種靈活的、輕量級、多語言測試報告工具。  不僅可以以簡潔的網(wǎng)絡報告形式非常簡潔地顯示已測試的內(nèi)容,  而且還允許參與開發(fā)過程的每個...

    89542767 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<