我是一名 Sitecore 开发人员,我想在单元测试中使用 Sitecore.FakeDb。我有以下代码:
[TestClass]
public class UnitTest1
{
[TestMethod]
public void Test_ArticleController_With_SitecoreItem()
{
Sitecore.Data.ID about_us_itemId = Sitecore.Data.ID.NewID;
Sitecore.Data.ID careers_itemId = Sitecore.Data.ID.NewID;
using (var db = new Sitecore.FakeDb.Db
{
new Sitecore.FakeDb.DbItem("about-us", about_us_itemId)
{
new Sitecore.FakeDb.DbField(SitecoreFieldIds.WTW_REDIRECT_TO) { Value = "/WTW-Home/about-us/overview" }
},
new Sitecore.FakeDb.DbItem("careers", careers_itemId)
{
new Sitecore.FakeDb.DbField(SitecoreFieldIds.WTW_REDIRECT_TO) { Value = "http://careers.willistowerswatson.com" }
}
})
{
Sitecore.Data.Items.Item sampleItem3 = db.GetItem(about_us_itemId); // throws error
Sitecore.Data.Items.Item sampleItem2 = db.GetItem("/sitecore/content/careers"); //throws error
//Assert
Assert.AreEqual("abc", "abc");
};
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试上述两行 .GetItem(...) 行时,出现以下错误:
System.TypeInitializationException: 'The type …
Run Code Online (Sandbox Code Playgroud)