私はいくつかの単体テストを書いていますが、モックを作成するのが有利かどうか疑問に思っていCache
ます。
現在、私のテストでは、をモックしてHttpContextBase
カスタムでラップしていますHttpContextFactory
:
var mockedHttpContextBase = new Mock<HttpContextBase>();
IHttpContextFactory httpContextFactory = new HttpContextFactory
{
Current = mockedHttpContextBase.Object
};
私のコードが を消費するときは、IHttpContextFactory
何かを行う前にキャッシュが null かどうかを確認します。
var cache = _httpContextFactory.Current.Cache;
Func<SomeReturnType> doSomeWork = () => _foo.someMethodIExecute(param1,param2);
return cache != null ? cache.GetOrStore("doSomeWorkCacheKey",doSomeWork, 900)
: doSomeWork.Invoke();
使用するたびにこのようにキャッシュが null であることを確認するのは正しいですか、それとも単体テストを実行するときに null にならないように、テストでもキャッシュをモックしますか?