SPEmulator和Microsoft Fakes

时间:2015-04-13 08:45:44

标签: unit-testing sharepoint microsoft-fakes shim

您好我正在尝试在每个SPSite上运行一个简单的测试替换Features.Count,但我不能。你能救我吗?

我有这段代码:

[TestMethod]
public void AllInstances()
{
    using (var context = new SPEmulationContext(IsolationLevel.Fake))
    {
        ShimSPSite.AllInstances.FeaturesGet = (item) =>
        {
            return new ShimSPFeatureCollection()
            {
                CountGet = () => 1
            }.Instance;
        };
        var tSite = new SPSite("http://fakesite");
        Assert.AreEqual(1, tSite.Features.Count);

    }
}

但它失败了这个例外:

  

Microsoft.QualityTools.Testing.Fakes.Shims.ShimNotImplementedException:抛出了类型'Microsoft.QualityTools.Testing.Fakes.Shims.ShimNotImplementedException'的异常。

这个类似的工作正常

[TestMethod]
public void Shim()
{
    using (var context = new SPEmulationContext(IsolationLevel.Fake))
    {
        var tSite = new ShimSPSite()
        {
            FeaturesGet = () =>
            {
                return new ShimSPFeatureCollection()
                {
                    CountGet = () => 1
                }.Instance;
            }
        }.Instance;
        Assert.AreEqual(1, tSite.Features.Count);
    } 
}
你能告诉我我做错了什么吗? 感谢

0 个答案:

没有答案