自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對(duì)Python測試問題全解析

開發(fā) 后端
Python測試的優(yōu)點(diǎn)只是可以與 .NET 框架互操作。這里仍然有許多缺陷,主要由于實(shí)現(xiàn)還不成熟而導(dǎo)致。但這確實(shí)只是時(shí)間的問題。

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

正如在第一篇文章中看到的,py.test 和 nose 都支持編寫為簡單函數(shù)的測試,這會(huì)大大簡化 Python 測試的編寫:

  1. Traceback (most recent call last):  
  2.   File "test_partial_pickle.py", line 12, in <module> 
  3.     s = pickle.dumps(partial(add, 10))  
  4.   File "/Library/Frameworks/Python.framework/Versions/  
  5.      2.5/lib/python2.5/pickle.py", line 1366, in dumps  
  6.      Pickler(file, protocol).dump(obj)  
  7.   File "/Library/Frameworks/Python.framework/Versions/  
  8.      2.5/lib/python2.5/pickle.py", line 224, in dump  
  9.      self.save(obj)  
  10.   File "/Library/Frameworks/Python.framework/Versions/  
  11.      2.5/lib/python2.5/pickle.py", line 306, in save  
  12.      rv = reduce(self.proto)  
  13.   File "/Library/Frameworks/Python.framework/Versions/  
  14.      2.5/lib/python2.5/copy_reg.py", line 69, in _reduce_ex  
  15.      raise TypeError, "can't pickle %s objects" % base.__name__  
  16. TypeError: can't pickle partial objects 


如果只需要在某一特定環(huán)境中檢查組件行為,那么測試函數(shù)和更傳統(tǒng)的測試類都可以滿足需要。但是,如果要執(zhí)行一系列測試,它們基本相同,只有一些參數(shù)有差異,那么怎么辦?

為了更容易實(shí)現(xiàn)這種測試,避免多次復(fù)制并粘貼測試函數(shù)以及設(shè)置惟一的名稱,py.test 和 nose 都支持衍生測試(generative test)。這里的思想是,您提供一個(gè)測試函數(shù),它實(shí)際上是一個(gè)迭代器,然后使用它的 yield 語句并提供調(diào)用參數(shù),從而返回一系列函數(shù)。例如,如果希望針對(duì)一系列 Web 瀏覽器運(yùn)行一個(gè)測試,可以編寫下面這樣的代碼:

對(duì)于衍生Python測試,py.test 更方便。因此您能夠更加輕松的分辨出正在運(yùn)行的測試,并在一個(gè)或多個(gè)測試失敗時(shí)理解測試報(bào)告,在每個(gè)元組中提供的第一項(xiàng)可以是一個(gè)名稱,它會(huì)作為測試名稱的組成部分輸出:

  1. Traceback (most recent call last):  
  2.   File "test_partial_pickle.py", line 12, in <module> 
  3.     s = pickle.dumps(partial(add, 10))  
  4.   File "/Library/Frameworks/Python.framework/Versions/  
  5.      2.5/lib/python2.5/pickle.py", line 1366, in dumps  
  6.      Pickler(file, protocol).dump(obj)  
  7.   File "/Library/Frameworks/Python.framework/Versions/  
  8.      2.5/lib/python2.5/pickle.py", line 224, in dump  
  9.      self.save(obj)  
  10.   File "/Library/Frameworks/Python.framework/Versions/  
  11.      2.5/lib/python2.5/pickle.py", line 306, in save  
  12.      rv = reduce(self.proto)  
  13.   File "/Library/Frameworks/Python.framework/Versions/  
  14.      2.5/lib/python2.5/copy_reg.py", line 69, in _reduce_ex  
  15.      raise TypeError, "can't pickle %s objects" % base.__name__  
  16. TypeError: can't pickle partial objects 

在設(shè)計(jì)和編寫測試套件時(shí),一個(gè)大問題是如何處理共同的 setup 和 teardown 代碼。許多真實(shí)的測試并不像本文給出的示例函數(shù)這么簡單;它們必須執(zhí)行一些復(fù)雜的操作,比如在Python測試中打開網(wǎng)頁并單擊 “Continue” 按鈕,然后檢查結(jié)果。在開始實(shí)際測試(比如打開頁面并單擊按鈕)之前,測試必須先完成一些步驟。

現(xiàn)在,考慮如果一百個(gè)功能性測試都要這樣執(zhí)行測試,會(huì)怎么樣。它們都需要通過調(diào)用共同的 setup 例程運(yùn)行 Firefox,然后才能執(zhí)行自己的測試。與此相應(yīng),為了取消 setup 所做的操作,可能還有 teardown 。在設(shè)計(jì)和編寫測試套件時(shí),一個(gè)大問題是如何處理共同的 setup 和 teardown 代碼。許多真實(shí)的測試并不像本文給出的示例函數(shù)這么簡單;

它們必須執(zhí)行一些復(fù)雜的操作,比如在 Firefox 中打開網(wǎng)頁并單擊 “Continue” 按鈕,然后檢查結(jié)果。在開始實(shí)際測試(比如打開頁面并單擊按鈕)之前,測試必須先完成一些步驟。

【編輯推薦】

  1. 漫談Python 源代碼編制技巧
  2. 簡單易于操作的Python 工具詳解
  3. 有關(guān)Python應(yīng)用領(lǐng)域進(jìn)行說明介紹
  4. PythonAndroid面向?qū)ο蟮木幊獭?FONT>Python應(yīng)用程序
  5. 如何使用Python模塊解析配置文件 ?
責(zé)任編輯:chenqingxiang 來源: IT專家網(wǎng)
相關(guān)推薦

2010-03-03 17:43:12

Android系統(tǒng)

2010-02-06 17:17:17

Android手機(jī)

2010-02-22 10:18:29

Python代碼

2010-03-01 14:28:46

Python進(jìn)程

2010-02-02 13:32:32

Python繼承

2010-02-03 17:52:11

Python 2.0

2014-01-09 09:24:32

Linux滲透測試滲透測試

2010-02-23 15:29:43

Python 編輯器

2010-03-03 14:51:02

Android手機(jī)

2010-02-05 14:54:56

Android UI

2010-01-27 09:31:39

C++Test測試

2010-02-07 15:42:46

Android單元測試

2010-03-03 13:43:46

Android手機(jī)系統(tǒng)

2010-03-04 16:38:37

Android開發(fā)技巧

2009-12-15 14:49:23

VS 2005開發(fā)界面

2010-01-05 14:37:39

JSON POST

2025-01-26 11:05:23

2010-02-07 10:21:27

Android應(yīng)用程序

2010-02-04 16:03:40

Android傳感器

2020-03-23 09:56:50

軟件測試面試技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)