python測試函數模塊unittest

2021-01-10 金英文庫

1.測試函數

在編寫完代碼後進行對代碼測試是否有錯誤

2.pytho標準庫中的模塊unittest為代碼測試工具

例如:

name_function.py 模塊名

def get_formatted_name(first, last):

full_name = first + ' ' + last

return full_name.title()

test_name_function.py 模塊名

import unittest unittest是python標準庫中的函數不可更改但可以用as重新命名

調用函數unittest模塊

from name_function import get_formatted_name

從模塊mycar中調用get_formatted_name

class NamesTestCase(unittest.TestCase):

可先導入模塊unittest以及要測試的函數,再創建繼承unittest.TestCase的類

def test_first_last_name(self): 創建函數必須包含創建模塊名中的字樣例如現在的『test』

創建函數繼承unitte.TestCase的類

formatted_name = get_formatted_name('janis','joplin')

為函數賦值實參並傳遞給變量

self.assertEqual(formatted_name,'Janis Joplin')

assertEqual方法 測試formatted_name的值是否與『Janis Joplin』一樣

unittest.main()

當我們運行test_name_function.py模塊時,所有已test——打頭的方法都將自動運行

3. unittest Module中的斷言方法

方法 用途

asserEqual(a,b) 核實a == b

assertNotEqual(a,b) 核實a != b

asserTrue(x) 核實x為True

assertFalse(x) 核實x為False

assertIn(item,list) 核實item在list中

assertNotIn(item,list) 核實item不在list中

4.測試類

例如:

test_survey.py 模塊名

import unittest 調用方法unittest

from survey import AnonymousSurvey 從survey模塊中調用AnonymousSurvey類

class TestAnonmyousSurvey(unittest.TestCase): 創建類並繼承unittest.TestCase類

def test_store_single_response(self): 創建函數並賦值實例

question = "What language did you first learn to speak?" 字符串賦值變量

my_survey = AnonymousSurvey(question) 類AnonymousSurvey賦值question的值實例並傳遞給變量

self.assertIn('English',my_survey.responses) 用assertIn方法進行列表比較

unittest.main()

5.setUp()

你在TestCase類中包含了方法setUp(),Python將先運行

它,再運行各個以test_打頭的方法

def setUp(self):

question = "What language did you first learn to speak?"

self.my_survey = AnonymousSurvey(question)

self.responses = ['English', 'Spanish', 'Mandarin']

相關焦點

  • 細說unittest單元測試框架
    一、單元測試框架說明 單元測試是指在編程中,針對程序模塊的最小單元(類中的方法)進行正確性檢驗的測試工作。python+selenium自動化測試中通常使用unittest或者pytest作為單元測試框架。
  • 乾貨丨Python接口測試自動化實戰及代碼示例:含get、post等方法
    最終選定 python 作為腳本開發語言,使用其自帶的 requests 和 urllib 模塊進行接口請求,使用優化後的 unittest 測試框架編寫測試接口函數,測試結果選用 HTMLTestRunner 框架予以展示,並使用 python 的 ssl 模塊支持 https 協議的驗證。接下來,我詳細地介紹這些模塊,並給出各個模塊完整的測試代碼。
  • 開發三年轉測試,除了Python基礎外,還需哪些必備測試技能?
    裝飾器的本質是一個閉包函數,實現的功能是在不修改原函數及調用方式的情況下對原函數進行功能擴展的,是開放封閉原則的典型代表,我們在業務中有編程場景可以用上裝飾器,比如用戶登陸後的權限校驗、執行函數前的預備處理、執行後的功能清理、以及更高級的事務處理等等。
  • Python使用ctypes模塊調用DLL函數之C語言數組與numpy數組傳遞
    在Python語言中,可以使用ctypes模塊調用其它如C++語言編寫的動態連結庫DLL文件中的函數,在提高軟體運行效率的同時,也可以充分利用目前市面上各種第三方的DLL庫函數,以擴充Python軟體的功能及應用領域,減少重複編寫代碼、重複造輪子的工作量,這也充分體現了Python語言作為一種膠水語言所特有的優勢
  • Python面試題庫,據說網易騰訊谷歌都在用!
    (1分)它是一個經常用作內聯函數的單個表達式匿名函數。8、為什麼python中的lambda表單沒有語句?(1分)python中的lambda表單沒有語句,因為它用於創建新的函數對象,然後在運行時返回它們。9、Python中的pass是什麼意思?
  • Python的武器庫05:numpy模塊(下)
    說到程式語言python,有一個著名的格言"餘生太短,只用python"。如果要分析為什麼會存在這麼一句格言?python的語法並不簡單,有複雜難懂的部分,之所以有這樣一句格言,是因為python中有很多強大的模塊,就像一個武器庫。
  • 三分鐘從入門到精通——Python模塊
    中的模塊:假設您正在使用python解釋器。您花了30分鐘來定義一個函數,然後使用它並退出解釋器。但是突然間,您記住仍然需要再次使用該功能。您再次輸入它,但該功能的定義已消失。哎呀,好痛。現在,您再次需要花費30分鐘來鍵入相同的功能。因此,python有一種方法可以將該函數定義放入文件中並隨時使用。模塊是ModuleType類型的對象。
  • Python使用ctypes模塊調用DLL函數之複數數組的參數傳遞
    在Python語言中,可以使用ctypes模塊調用其它如C++語言編寫的動態連結庫DLL文件中的函數,前面多篇文章中已經講了傳遞數值/指針/字符串參數、傳遞結構體參數、傳遞普通數組類型的例子,大家可以回看一下,這樣可以更好的理解本次要講的內容。
  • python sys模塊的常見用法匯總
    python的內置模塊sys,提供了系統相關的一些變量和函數,在實際開發中,常見的有以下幾種用法1.()該函數也可以添加一個參數,默認為0,表示正常退出,其他參數表示非正常退出,支持用字符串來自定義錯誤信息。
  • Python內置模塊math介紹
    # 導入模塊import math#dir(module):可以通過它查看任何模塊中所包含的工具
  • Pytest丨如何使用全功能的Python測試框架?小白必看
    關注我,每周分享軟體測試技術乾貨、面試經驗,想要進入軟體測試學習交流群的可以直接私信我哦~~我們在寫自動化的過程中,用例的斷言也是至關重要的,斷言可以幫助我們判斷用例測試點是否成功和失敗。當然在我們這麼強大的pytest框架中,斷言也是比較強大的。為什麼?繼續往下看。
  • Python的武器庫04:numpy模塊(上)
    說到程式語言python,有一個著名的格言"餘生太短,只用python"。如果要分析為什麼會存在這麼一句格言?python的語法並不簡單,有複雜難懂的部分,之所以又這樣一句格言,是因為python中有很多強大的模塊,就像一個武器庫。Python正式由於這些模塊的出現,只要引入這個模塊,調用這個模塊的集成函數,問題迎刃而解;不需要從頭開始,節省了大量的時間。
  • python之OS模塊39個常用函數詳解
    作者:小伍哥 來源:AI入門學習os,語義作業系統,所以該模塊就是作業系統相關的功能了,用於處理文件和目錄這些我們日常手動需要做的操作,比如新建文件夾、獲取文件列表、刪除某個文件、獲取文件大小、重命名文件、獲取文件修改時間等,該模塊就包含了大量的作業系統操作函數,精選常用的進行解析,希望對大家有所幫助。
  • 廣州Python測試培訓
    主要內容: Python不同系統環境搭建、Linux常用命令、編輯器使用、伺服器及搭建、Python基本語法、python控制語句、Python模塊、Python模塊設計、Python函數、Json數據操作、Python文件操作、Python異常處理。
  • python隨機模塊22個函數詳解(上)
    作者:小伍哥來源: AI入門學習今天給大家介紹下python中的隨機模塊,隨機數可以用於數學,遊戲,安全等領域中,還經常被嵌入到算法中,用以提高算法效率,並提高程序的安全性。平時數據分析各種分布的數據構造也會用到。
  • python高階函數:map、filter、reduce的替代品
    什麼是高階函數?高階函數是一種將函數作為參數,或者把函數作為結果返回的函數,map函數、sorted函數就是高階函數的典型例子。map函數在小編以前的文章中做過相應的知識分享。sorted函數是python的內置函數,它的可選參數key用於提供一個函數,它可以將函數應用到各個元素上進行排序。
  • python:pop函數詳解 - 二進位01
    pop函數詳解今天我為大家講解python中pop函數的使用。#簡介——pop()函數是python解釋器的內置方法,可作用於列表,字典。用法說明——在builtins.py中找到pop函數。列表:L.pop([index]) -> item -- remove and return item at index (default last).
  • 利用python計算函數與x軸之間的面積
    用數學表達式表示出來就是:也就是求解任意一個函數的絕對值與x軸之間構成的面積,我們以函數sin(x)為例(因為函數sin(x)便於對計算結果進行檢驗),如圖所示:我們用積分的定義來計算,積分就是將函數分成無數的小段,然後對每一小段進行求和處理。
  • python動態添加類對象成員:變量、函數
    pythonyu'yan那麼下面就以下圖中的代碼為例,為大家演示如何給python中的類對象動態的添加變量給類對象動態添加方法/函數注意:初學者在理解以下內容之前,需清楚python類中 self 參數的含義和作用,可自行搜索查閱:Python中self的用法!