如何模拟sharepoint方法和对象

时间:2017-12-22 16:47:11

标签: c# sharepoint

我正在尝试为我的功能编写单元测试,我正在使用sharepoint客户端上下文。 例如:

var list = _context.Web.Lists.GetById(new Guid(listGuid));

如何创建ListI List List ListItemCollection来模拟它或添加一些样本数据?

2 个答案:

答案 0 :(得分:0)

您可以使用this实用程序轻松地模拟共享点网站和集合。 它使您能够控制列表的行为并调用所需的内容。

答案 1 :(得分:0)

我已经成功地使用Microsoft Fakes框架模拟了ClientContext及其产生的任何类型。

https://docs.microsoft.com/en-us/visualstudio/test/isolating-code-under-test-with-microsoft-fakes?view=vs-2019

在代码中是这样完成的:

using (ShimsContext.Create())
{
    ShimWeb shimWeb = new ShimWeb()
    ShimClientContext shimSpCtx = new ShimClientContext();
    shimSpCtx.WebGet = () => { return shimWeb; };
    MyClass myObject = new MyClass();
    myObject.TestedMethod(shimSpCtx.Instance);
}

Shim *类是使用Microsoft Fakes框架生成的...当您在Visual Studio项目中右键单击引用的dll时,VS 2017(我们具有Ultimate版)为您提供了“添加假程序集”选项,该选项可生成一个包含这些匀场类型的参考。 我在这里注意到VS版本,因为我认为它并不包含在所有版本中。