新聞中心
在向大家詳細(xì)介紹Python測(cè)試之前,首先讓大家了解下Python測(cè)試,然后全面介紹Python測(cè)試,Python測(cè)試還是比較常用的,于是我研究了一下Python測(cè)試,在這里拿出來和大家分享一下,希望對(duì)大家有用。

港口ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
正如在第一篇文章中看到的,py.test 和 nose 都支持編寫為簡(jiǎn)單函數(shù)的測(cè)試,這會(huì)大大簡(jiǎn)化 Python 測(cè)試的編寫:
- Traceback (most recent call last):
- File "test_partial_pickle.py", line 12, in
- s = pickle.dumps(partial(add, 10))
- File "/Library/Frameworks/Python.framework/Versions/
- 2.5/lib/python2.5/pickle.py", line 1366, in dumps
- Pickler(file, protocol).dump(obj)
- File "/Library/Frameworks/Python.framework/Versions/
- 2.5/lib/python2.5/pickle.py", line 224, in dump
- self.save(obj)
- File "/Library/Frameworks/Python.framework/Versions/
- 2.5/lib/python2.5/pickle.py", line 306, in save
- rv = reduce(self.proto)
- File "/Library/Frameworks/Python.framework/Versions/
- 2.5/lib/python2.5/copy_reg.py", line 69, in _reduce_ex
- raise TypeError, "can't pickle %s objects" % base.__name__
- TypeError: can't pickle partial objects
如果只需要在某一特定環(huán)境中檢查組件行為,那么測(cè)試函數(shù)和更傳統(tǒng)的測(cè)試類都可以滿足需要。但是,如果要執(zhí)行一系列測(cè)試,它們基本相同,只有一些參數(shù)有差異,那么怎么辦?
為了更容易實(shí)現(xiàn)這種測(cè)試,避免多次復(fù)制并粘貼測(cè)試函數(shù)以及設(shè)置惟一的名稱,py.test 和 nose 都支持衍生測(cè)試(generative test)。這里的思想是,您提供一個(gè)測(cè)試函數(shù),它實(shí)際上是一個(gè)迭代器,然后使用它的 yield 語(yǔ)句并提供調(diào)用參數(shù),從而返回一系列函數(shù)。例如,如果希望針對(duì)一系列 Web 瀏覽器運(yùn)行一個(gè)測(cè)試,可以編寫下面這樣的代碼:
對(duì)于衍生Python測(cè)試,py.test 更方便。因此您能夠更加輕松的分辨出正在運(yùn)行的測(cè)試,并在一個(gè)或多個(gè)測(cè)試失敗時(shí)理解測(cè)試報(bào)告,在每個(gè)元組中提供的第一項(xiàng)可以是一個(gè)名稱,它會(huì)作為測(cè)試名稱的組成部分輸出:
- Traceback (most recent call last):
- File "test_partial_pickle.py", line 12, in
- s = pickle.dumps(partial(add, 10))
- File "/Library/Frameworks/Python.framework/Versions/
- 2.5/lib/python2.5/pickle.py", line 1366, in dumps
- Pickler(file, protocol).dump(obj)
- File "/Library/Frameworks/Python.framework/Versions/
- 2.5/lib/python2.5/pickle.py", line 224, in dump
- self.save(obj)
- File "/Library/Frameworks/Python.framework/Versions/
- 2.5/lib/python2.5/pickle.py", line 306, in save
- rv = reduce(self.proto)
- File "/Library/Frameworks/Python.framework/Versions/
- 2.5/lib/python2.5/copy_reg.py", line 69, in _reduce_ex
- raise TypeError, "can't pickle %s objects" % base.__name__
- TypeError: can't pickle partial objects
在設(shè)計(jì)和編寫測(cè)試套件時(shí),一個(gè)大問題是如何處理共同的 setup 和 teardown 代碼。許多真實(shí)的測(cè)試并不像本文給出的示例函數(shù)這么簡(jiǎn)單;它們必須執(zhí)行一些復(fù)雜的操作,比如在Python測(cè)試中打開網(wǎng)頁(yè)并單擊 “Continue” 按鈕,然后檢查結(jié)果。在開始實(shí)際測(cè)試(比如打開頁(yè)面并單擊按鈕)之前,測(cè)試必須先完成一些步驟。
現(xiàn)在,考慮如果一百個(gè)功能性測(cè)試都要這樣執(zhí)行測(cè)試,會(huì)怎么樣。它們都需要通過調(diào)用共同的 setup 例程運(yùn)行 Firefox,然后才能執(zhí)行自己的測(cè)試。與此相應(yīng),為了取消 setup 所做的操作,可能還有 teardown 。在設(shè)計(jì)和編寫測(cè)試套件時(shí),一個(gè)大問題是如何處理共同的 setup 和 teardown 代碼。許多真實(shí)的測(cè)試并不像本文給出的示例函數(shù)這么簡(jiǎn)單;
它們必須執(zhí)行一些復(fù)雜的操作,比如在 Firefox 中打開網(wǎng)頁(yè)并單擊 “Continue” 按鈕,然后檢查結(jié)果。在開始實(shí)際測(cè)試(比如打開頁(yè)面并單擊按鈕)之前,測(cè)試必須先完成一些步驟。
名稱欄目:對(duì)Python測(cè)試問題全解析
當(dāng)前路徑:http://m.5511xx.com/article/dhjdogp.html


咨詢
建站咨詢
