所以我只是習慣了嘲笑的東西。我這裏有這個私有變量:使用Rhino Mock來模擬私人對象電話
private CoreDataContext _coreDataManager;
在這個類:
public class RatesControlReport
: Chatham.Panda.Batch.ProcessDefinition.BatchProcess
該類上有一個void
的方法,我想測試名爲CheckSwaptionVols(DateTime runDate)
。
在我的測試的第一部分,我可以實例化主類:
RatesControlReport ratesControlReportProcess;
ratesControlReportProcess = new RatesControlReport();
,基本上我想使這個電話:
ratesControlReportProcess.CheckSwaptionVols(DateTime.Now);
但是此方法使用私有變量,像這樣:
System.Data.Linq.ISingleResult<CheckSwaptionVols> swaptionStatusResult = _coreDataManager.CheckSwaptionVols(this._runDate);
我希望能夠通過這個變量的模擬版本,而不是打開我自己指定的System.Data.Linq.ISingleResult<CheckSwaptionVols>
,這樣測試可以繼續而不依賴於數據庫。
我該怎麼做?
+1同意。不傳遞對象到構造函數中導致非常「痛苦的屁股」設置單元測試。或者更糟糕的是,放棄單元測試,因爲他們太麻煩了。 –