Python單元測(cè)試簡(jiǎn)單示例
本文實(shí)例講述了Python單元測(cè)試方法。分享給大家供大家參考,具體如下:
Eric書中《Python編程從入門到實(shí)踐》中的一個(gè)例子。
《Python編程從入門到實(shí)踐》隨書源碼可至此下載:http://www.dhdzp.com/books/582019.html。
首先定義了一個(gè)測(cè)試函數(shù):
namefunction.py
#-*- coding:cp936 -*- def get_formmed_name(first, last): """該函數(shù)根據(jù)姓和名生成一個(gè)完整的姓名""" full_name = first + ' ' + last return full_name.title()
然后編寫了一個(gè)測(cè)試該函數(shù)的模塊:
names.py
#-*- coding:cp936 -*-
from name_function import get_formmed_name
"""該文件用來(lái)測(cè)試姓名生成函數(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
通過測(cè)試,name_function中的函數(shù)可以實(shí)現(xiàn)其功能。
最后是單元測(cè)試和測(cè)試用例的編寫。
test_name_function.py
# coding:utf-8
import unittest
from name_function import get_formmed_name
class NamesTestCase(unittest.TestCase):
"""測(cè)試name_function.py"""
def test_first_last_name(self):
"""能夠正確處理像Janis Joplin這樣的姓名嗎?"""
formatted_name = get_formmed_name('janis','joplin')
self.assertEqual(formatted_name,'Janis Joplin')
注意這個(gè)地方,我在Python 2.7的版本中直接調(diào)用書上的主函數(shù)unittest.main()時(shí)程序無(wú)法通過,而改用以下調(diào)用方式即可
if __name__ == '__main__': unittest
通過對(duì)以上單元測(cè)試模塊分析:
1. 導(dǎo)入單元測(cè)試類unittest
2. 導(dǎo)入要測(cè)試的函數(shù),本例為name_function模塊中的get_formatted_name() 函數(shù)
3. 創(chuàng)建一個(gè)繼承于unittest.TestCase的類
4. 在類中定義一系列方法對(duì)函數(shù)的行為進(jìn)行不同方面的測(cè)試,需要注意的是一個(gè)測(cè)試用例應(yīng)該只測(cè)試一個(gè)方面,測(cè)試目的和測(cè)試內(nèi)容應(yīng)很明確。主要是調(diào)用assertEqual、assertRaises等斷言方法判斷程序執(zhí)行結(jié)果和預(yù)期值是否相符。
更多Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python入門與進(jìn)階經(jīng)典教程》、《Python字符串操作技巧匯總》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- Python如何在單元測(cè)試中給對(duì)象打補(bǔ)丁
- Python單元測(cè)試及unittest框架用法實(shí)例解析
- Python單元測(cè)試與測(cè)試用例簡(jiǎn)析
- python3.6編寫的單元測(cè)試示例
- Python Django框架單元測(cè)試之文件上傳測(cè)試示例
- Python 單元測(cè)試(unittest)的使用小結(jié)
- Python unittest單元測(cè)試框架總結(jié)
- Python unittest單元測(cè)試框架的使用
- 詳解python單元測(cè)試框架unittest
- Python編寫單元測(cè)試代碼實(shí)例
相關(guān)文章
盤點(diǎn)20個(gè)Python數(shù)據(jù)科學(xué)庫(kù)神器打造數(shù)據(jù)魔法世界
數(shù)據(jù)科學(xué)家和分析師常常使用?Python?來(lái)處理數(shù)據(jù)、進(jìn)行分析和可視化,Python生態(tài)系統(tǒng)中有許多庫(kù),但有一些庫(kù)是數(shù)據(jù)科學(xué)家日常工作中必不可少的,本文將深入介紹20個(gè)重要的Python?庫(kù),包括示例代碼和用例2024-01-01
Python實(shí)現(xiàn)微信翻譯機(jī)器人的方法
這篇文章主要介紹了Python實(shí)現(xiàn)微信翻譯機(jī)器人的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
Python的Flask開發(fā)框架簡(jiǎn)單上手筆記
這篇文章主要介紹了Python的Flask開發(fā)框架的入門知識(shí)整理,Flask是一款極輕的Python web開發(fā)框架,需要的朋友可以參考下2015-11-11
python爬蟲之selenium庫(kù)的安裝及使用教程
今天帶大家來(lái)學(xué)習(xí)怎么安裝使用selenium庫(kù),文中有非常詳細(xì)的圖文介紹,對(duì)正在學(xué)習(xí)python爬蟲的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05
python神經(jīng)網(wǎng)絡(luò)之批量學(xué)習(xí)tf.train.batch函數(shù)示例
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)之批量學(xué)習(xí)tf.train.batch函數(shù)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
在NumPy中創(chuàng)建空數(shù)組/矩陣的方法
今天小編就為大家分享一篇在NumPy中創(chuàng)建空數(shù)組/矩陣的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2018-06-06
使用PDB簡(jiǎn)單調(diào)試Python程序簡(jiǎn)明指南
這篇文章主要介紹了使用PDB簡(jiǎn)單調(diào)試Python程序簡(jiǎn)明指南,本文講解了使用PDB調(diào)試程序的簡(jiǎn)單技巧,方便、簡(jiǎn)潔實(shí)用,需要的朋友可以參考下2015-04-04

