Xunit을 사용하여 SitecoreContext를 호출하는 메소드를 테스트하고 항상 null을 반환하는 유닛 테스트를 만들고 있습니다.Glassmapper SitecoreContext 단위 테스트
사이트 컨텍스트로 FakeDB를 사용하고 있습니다.
public static Model GetModelData(object owner)
{
try
{
using (var context = new SitecoreContext())
{
string homePath = Sitecore.Context.Site.ContentStartPath;
Model = context.GetItem<Model>(string.Format("{0}/Configuration/Model", homePath));
}
}
catch (Exception ex)
{
Sitecore.Diagnostics.Log.Error("GetModelData() Exception: " + ex.InnerException, owner);
}
return backToTop;
}
내가 FakeDb를 사용하여 가짜 SiteContext을 생성하는 방법을 촉구했습니다
이
는 단위 테스트 방법입니다. 내가 시도한 것은 다음과 같습니다.var fakeSite = new Sitecore.FakeDb.Sites.FakeSiteContext(new Sitecore.Collections.StringDictionary
{
{ "name", "fakesite" }, { "database", "master" }, { "rootPath", "/sitecore/content/home" }
});
using (new Sitecore.Sites.SiteContextSwitcher(fakeSite))
{
var result = SomeClass.GetModelData(this);
result.Should().NotBeNull();
}
디버깅 할 때 var 컨텍스트가 null을 반환합니다. Glassmapper SitecoreContext를 조롱하는 방법이 있습니까? 또는 메소드에서 새로운 SitecoreContext를 도입했기 때문에 이것이 불가능합니까?