小编use*_*243的帖子

使用 Sitecore.FakeDb 进行单元测试会在 GetItem 上引发 Sitecore.Nexus 实例化错误

我是一名 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)

c# moq sitecore-mvc glass-mapper sitecore8

3
推荐指数
1
解决办法
3142
查看次数

标签 统计

c# ×1

glass-mapper ×1

moq ×1

sitecore-mvc ×1

sitecore8 ×1