2010-04-05 109 views
2

我想生成一些動態數據並將這些數據輸入到測試用例中。但是我發現Django每次都會首先進行測試,以便進行測試。所以每次django測試框架調用函數時都會生成數據。單元測試在Django。靜態變量加入測試用例

有無論如何使用像單身或靜態變量來解決問題?應該是什麼解決方案?

謝謝!

回答

3

這是正常的單元測試行爲,儘管您通常會在setUp()方法中設置測試數據而不是__init__(也可能在tearDown()中銷燬它)。

如果生成動態測試數據需要很長時間才能執行每個測試用例方法,那麼我想最好的方法是創建一個單例測試數據類。在這種情況下,您必須注意每種測試方法都會將測試數據類置於與其找到的狀態完全相同的狀態,如果您希望測試用例方法在其中寫入某些內容,這並不是微不足道的;這就是爲什麼unittest試圖爲每個測試用例方法重新生成測試環境的原因。

一個改進可能是讓單例測試數據類在每次請求它的實例時都返回自身的深層副本。

+0

謝謝!我在創建一個單身人士之前,你回答了,它的工作。你剛剛證明我的方法! – zsong 2010-04-05 20:20:21