2013-10-05 61 views
0

我期待單元測試類的方法,使一個函數調用popen方法,並在其上執行某些操作的內部。覆蓋函數調用的方法

from os import popen 

class myclass(object): 
    ''' Generic class. ''' 

    def do_something(self): 
     ret = popen("cat some_file") 
     # do some work with the returned value here 
     return modified_ret 

我需要控制從popen調用中返回的內容以測試該方法。什麼是最好的方式去做?

編輯:我也有,在這個單一類POPEN使用多種方法;所以如果我可以在實例上覆蓋它,而不是整個類將會很棒。

回答

1

如果我正確地解釋這個問題,似乎你正在尋找一個用於測試的嘲弄庫。

看看這個

What is your favorite Python mocking library?

嘲弄庫允許你使用模仿對象替換系統的部分測試,並就它們是如何被使用的斷言。