亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python 單元測試(unittest)的使用小結

2020-02-15 23:41:21
字體:
來源:轉載
供稿:網友

測試目錄

項目的整體結構可以參考“軟件目錄開發規范”,這里單說測試目錄。一般都是在項目里單獨創建一個測試目錄,目錄名就是“tests”。

關于目錄的位置,一種建議是,在項目名(假設項目名是Foo)的一級子目錄下創建二級子目錄 “Foo/foo/tests” 。但是這樣可能是因為用起來不方便,有很多是按下面的做法。不過下面的示例我還是用這個方法來創建測試目錄。
還可以把測試目錄向上移一層,作為一級子目錄,直接創建在項目之下 “Foo/tests”。參考django、scrapy、flask都是這樣的做法。

測試函數

標題的意思是對函數(def)進行測試,相對于測試類(class)。

學習測試,得有要測試的代碼。下面是一個簡單的函數,接收城市名和國家名,返回一個格式為“City, Country“這樣的字符串:

# UnitTest/unit_test/utils/city_functions.pydef get_city_info(city, country):  city_info = "%s, %s" % (city, country)  return city_info.title()

接下來就對上面的這個函數進行測試。

手動測試

現在來寫一個使用這個函數的程序:

# UnitTest/unit_test/test/cities.pytry:  from unit_test.utils.city_functions import get_city_infoexcept ModuleNotFoundError:  import sys  sys.path.append('../..')  from unit_test.utils.city_functions import get_city_infoprint("Enter 'q' at any time to quit.")while True:  city = input("city name: ")  if city == 'q':    break  country = input("country name: ")  if country == 'q':    break  fullname = get_city_info(city, country)  print("/tcity info:", fullname)

然后運行的結果:

Enter 'q' at any time to quit.
city name: shanghai
country name: china
    city info: Shanghai, China
city name: q

Process finished with exit code 0

上面這樣是手動測試,還是得有一種自動測試函數輸出的高效方式。如果能夠對get_fullname()進行自動測試,就能始終確信,給這個函數提供測試過的姓名后,它能返回正確的結果。尤其是在對函數進行修改的前后。

模塊導入路徑的問題

PyCharm會自動把項目目錄加到環境變量里去,在PyCharm里執行都沒問題。但是如果不用PyCharm而是單獨運行,這個目錄結構應該會有點問題,會找不到需要測試的函數。簡單點就是把測試用例和被測試的函數放到同一個目錄里,然后改一下 from import 就可以正常運行了?;蛘咦约菏謩犹砑迎h境變量,就像例子里那樣。

單元測試-unittest

Python標準庫中的模塊unittest提供了代碼測試工具。

創建測試用例

為函數編寫測試用例,可先導入模塊unittest以及要測試的函數,再創建一個繼承unittest.TestCase的類,并編寫一系列方法對函數行為的不同方面進行測試。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av在线一区二区| 国产精品久久久久久久久久99| 国产美女久久精品| 亚洲天堂av高清| 欧美日韩xxxxx| 国产精品一区二区久久精品| 国产在线高清精品| 国产在线98福利播放视频| 性色av一区二区三区| 91精品久久久久久久久久久| 91精品国产高清自在线看超| 国语对白做受69| 91高清视频免费观看| 欧美专区在线视频| 九九九久久国产免费| 日本久久亚洲电影| 欧美wwwwww| 一夜七次郎国产精品亚洲| 国产一区红桃视频| 亚洲国产精品资源| 欧美日韩国产专区| 久久久久久久久久婷婷| 国产噜噜噜噜噜久久久久久久久| 懂色av影视一区二区三区| 久久精品国产精品| 搡老女人一区二区三区视频tv| 高清欧美一区二区三区| 欧美猛少妇色xxxxx| 欧美视频精品一区| 亚洲伊人久久综合| 国产精品福利在线观看网址| 永久免费毛片在线播放不卡| 成人欧美一区二区三区在线| 国产精品丝袜高跟| 国内精品久久久久久影视8| 久久久女人电视剧免费播放下载| 欧洲亚洲女同hd| 亚洲美女自拍视频| 精品中文字幕在线观看| 欧美激情亚洲视频| 日韩精品在线第一页| 91亚洲国产成人久久精品网站| 欧美怡春院一区二区三区| 日韩av电影手机在线| 亚洲精品国产精品久久清纯直播| 国产精品福利在线观看网址| 神马国产精品影院av| 国产日韩欧美在线播放| 91精品久久久久| 亚洲黄色av女优在线观看| 亚洲欧美一区二区三区久久| 欧美日韩在线视频观看| 国产精品视频大全| 国内精品国产三级国产在线专| 国产精品私拍pans大尺度在线| 久久免费视频在线| 久久男人av资源网站| 久久人人爽人人爽人人片av高请| 精品久久久久国产| 日产精品久久久一区二区福利| 日韩在线播放视频| 久久久精品视频在线观看| 国产精品色婷婷视频| 欧美成人高清视频| 国产日韩欧美视频在线| 国产成人午夜视频网址| 精品国产欧美成人夜夜嗨| 日韩成人在线视频观看| 亚洲人免费视频| 欧美日韩第一视频| 亚洲高清福利视频| 91精品久久久久久久久久久| 亚洲第一区中文字幕| 激情成人在线视频| 亚洲精品乱码久久久久久按摩观| 日韩在线观看免费| 国产精品成人一区二区| 九九九热精品免费视频观看网站| 91精品国产免费久久久久久| 亚洲欧美综合图区| 日韩国产高清视频在线| 日本欧美在线视频| 欧美国产第一页| 国产91在线播放九色快色| 国产精品入口免费视| 日韩精品黄色网| 精品中文视频在线| 日本aⅴ大伊香蕉精品视频| 久久夜精品va视频免费观看| 一区二区三区四区在线观看视频| 国产精品一香蕉国产线看观看| 国产精品日日摸夜夜添夜夜av| 国产偷亚洲偷欧美偷精品| 亚洲伊人成综合成人网| 欧美在线www| 欧美日韩国产在线看| 亚洲国产精品系列| 久久6免费高清热精品| 欧美日韩国产色视频| 亚洲欧洲日产国码av系列天堂| 欧美日韩另类视频| www日韩中文字幕在线看| 久久精品国产成人精品| 欧美日韩国产麻豆| 亚洲精品456在线播放狼人| 欧美日韩国产精品一区二区三区四区| 国产福利精品av综合导导航| 麻豆一区二区在线观看| 欧美激情一区二区三区高清视频| 日本一区二区在线免费播放| 亚洲国产精品电影| 成人日韩在线电影| 欧美日韩免费观看中文| 久久精品电影网站| 欧美中文字幕在线播放| 亚洲精品视频久久| 久久久久久久久久婷婷| 国产亚洲精品久久久久动| 欧美在线视频一二三| 国产精品久久久久久久久借妻| 亚洲国产精品美女| 亚洲精品有码在线| 91网站免费观看| 亚洲成人久久网| 色偷偷av一区二区三区乱| 久久成人在线视频| 日韩免费av一区二区| 北条麻妃一区二区三区中文字幕| 日韩精品免费在线视频| 久久久久999| 国产精品18久久久久久麻辣| 久久在线精品视频| 欧美裸体xxxx极品少妇| 久久久久久亚洲| 日韩av不卡在线| 5566成人精品视频免费| 日韩精品在线免费观看视频| 成人日韩av在线| 亚洲剧情一区二区| 日本不卡高字幕在线2019| 在线观看久久av| 97国产精品人人爽人人做| 精品视频久久久久久| 亚洲国产一区二区三区四区| 中文字幕av一区二区三区谷原希美| 日韩最新中文字幕电影免费看| 色伦专区97中文字幕| 91免费精品视频| 在线看片第一页欧美| 亚洲国产第一页| 疯狂做受xxxx欧美肥白少妇| 亚洲午夜久久久久久久| 亚洲精品aⅴ中文字幕乱码| 国产精品香蕉国产| 亚洲一级黄色片| 成人福利视频网| 日韩视频免费中文字幕| 91免费国产视频| 成人免费福利视频| 亚洲综合在线做性| 欧美另类极品videosbestfree| 亚洲欧美中文另类| 日韩视频中文字幕| 九九热这里只有精品免费看|