我寫了一個名爲Consumer.py的模塊,其中包含一個類(Consumer)。該類使用配置文件進行初始化,該文件包含用於計算的不同參數以及用於記錄的loq隊列的名稱。Python - 單元測試方法在不同類中的正確方法是什麼?
我想爲這個類編寫單元測試,所以我用名爲TestConsumerMethods(unittest.TestCase)的類創建了一個名爲test_Consumer.py的腳本。
現在,我所做的是創建一個名爲cons的Consumer類的新對象,然後使用它來調用類方法進行測試。例如,Consumer有一個簡單的方法來檢查給定目錄中是否存在文件。我做的測試看起來像這樣
import Consumer
from Consumer import Consumer
cons = Consumer('mockconfig.config', 'logque1')
class TestConsumerMethods(unittest.TestCase):
def test_fileExists(self):
self.assertEqual(cons.file_exists('./dir/', 'thisDoesntExist.config), False)
self. assertEqual(cons.file_exists('./dir/', thisDoesExist.config), True)
這是測試我的班級的正確方法嗎?我的意思是,理想情況下,我想只使用類方法,而不必實例化類,因爲要「隔離」代碼,對吧?
這個問題是,那麼這就是你可以運行測試的唯一方法。你不能用unittest發現它們,或者在CI設置中很容易地運行它們 – SpoonMeiser
@SpoonMeiser確實如此,但是如果你需要一種簡單的方法來實現一些測試(例如沒有單元測試知識),這可能是一個好方法, 。 但是,這仍然是實施測試的簡單而快捷的方式,它有一定的侷限性。 我認爲這取決於你需要什麼,這是一種方式。 – vmonteco