私はちょうど物を嘲笑に慣れています。このクラスではRhino Mockを使って私的なオブジェクトを模擬してください
private CoreDataContext _coreDataManager;
:私はここで、このプライベート変数を持って
public class RatesControlReport
: Chatham.Panda.Batch.ProcessDefinition.BatchProcess
このクラスは、私がCheckSwaptionVols(DateTime runDate)
と呼ばれるテストすることにvoid
方法があります。
私のテストの最初の部分で私はメインクラスインスタンス化することができます
RatesControlReport ratesControlReportProcess;
ratesControlReportProcess = new RatesControlReport();
を基本的に私はこの呼び出しを作りたい:
ratesControlReportProcess.CheckSwaptionVols(DateTime.Now);
しかし、この方法ではそうのようなプライベート変数を使用しています:
System.Data.Linq.ISingleResult<CheckSwaptionVols> swaptionStatusResult = _coreDataManager.CheckSwaptionVols(this._runDate);
私はこの変数の模擬バージョンを代わりに渡すことができたいと思います自分の指定したSystem.Data.Linq.ISingleResult<CheckSwaptionVols>
を指定して、DBに依存せずにテストを続けることができます。
どうすればよいですか?
+1オブジェクトをコンストラクタに渡さないと、単体テストの設定が非常に「痛い」という結果になります。あるいは、単体テストをあきらめるのが面倒すぎるので、単体テストをあきらめてください。 –