Python單元測試簡單示例
本文實例講述了Python單元測試方法。分享給大家供大家參考,具體如下:
Eric書中《Python編程從入門到實踐》中的一個例子。
《Python編程從入門到實踐》隨書源碼可至此下載:http://www.dbjr.com.cn/books/582019.html。
首先定義了一個測試函數(shù):
namefunction.py
#-*- coding:cp936 -*- def get_formmed_name(first, last): """該函數(shù)根據(jù)姓和名生成一個完整的姓名""" full_name = first + ' ' + last return full_name.title()
然后編寫了一個測試該函數(shù)的模塊:
names.py
#-*- coding:cp936 -*-
from name_function import get_formmed_name
"""該文件用來測試姓名生成函數(shù)"""
print "Enter 'q' to quit any time."
while True:
first = raw_input("\nEnter first name:")
if first == 'q':
break
last = raw_input("Enter last name:")
if last == 'q':
break
formatted_name = get_formmed_name(first,last)
print "Formmated name:",formatted_name
通過測試,name_function中的函數(shù)可以實現(xiàn)其功能。
最后是單元測試和測試用例的編寫。
test_name_function.py
# coding:utf-8
import unittest
from name_function import get_formmed_name
class NamesTestCase(unittest.TestCase):
"""測試name_function.py"""
def test_first_last_name(self):
"""能夠正確處理像Janis Joplin這樣的姓名嗎?"""
formatted_name = get_formmed_name('janis','joplin')
self.assertEqual(formatted_name,'Janis Joplin')
注意這個地方,我在Python 2.7的版本中直接調(diào)用書上的主函數(shù)unittest.main()時程序無法通過,而改用以下調(diào)用方式即可
if __name__ == '__main__': unittest
通過對以上單元測試模塊分析:
1. 導入單元測試類unittest
2. 導入要測試的函數(shù),本例為name_function模塊中的get_formatted_name() 函數(shù)
3. 創(chuàng)建一個繼承于unittest.TestCase的類
4. 在類中定義一系列方法對函數(shù)的行為進行不同方面的測試,需要注意的是一個測試用例應該只測試一個方面,測試目的和測試內(nèi)容應很明確。主要是調(diào)用assertEqual、assertRaises等斷言方法判斷程序執(zhí)行結果和預期值是否相符。
更多Python相關內(nèi)容感興趣的讀者可查看本站專題:《Python入門與進階經(jīng)典教程》、《Python字符串操作技巧匯總》、《Python列表(list)操作技巧總結》、《Python編碼操作技巧總結》、《Python數(shù)據(jù)結構與算法教程》、《Python函數(shù)使用技巧總結》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
相關文章
Python反爬實戰(zhàn)掌握酷狗音樂排行榜加密規(guī)則
最新的酷狗音樂反爬來襲,本文介紹如何利用Python掌握酷狗排行榜加密規(guī)則,本章內(nèi)容只限學習,切勿用作其他用途?。。。。? 有需要的朋友可以借鑒參考下2021-10-10
python神經(jīng)網(wǎng)絡編程之手寫數(shù)字識別
這篇文章主要介紹了python神經(jīng)網(wǎng)絡編程之手寫數(shù)字識別,文中有非常詳細的代碼示例,對正在學習python神經(jīng)網(wǎng)絡編程的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05
PyCharm更換pip源、模塊安裝以及PyCharm依賴包導入導出功能
這篇文章主要給大家介紹了關于PyCharm更換pip源、模塊安裝以及PyCharm依賴包導入導出功能的相關資料,我們在使用pycharm的時候,pycharm中的虛擬環(huán)境依賴包需要導出成一個文件,需要的朋友可以參考下2023-11-11
利用Python函數(shù)實現(xiàn)一個萬歷表完整示例
這篇文章主要給大家介紹了關于如何利用Python函數(shù)實現(xiàn)一個萬歷表的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01

