0

我已经开始研究 VisualStudio 2012 中的新功能,您可以在其中添加虚假的 dll 程序集以进行单元测试。我正在使用 SharePoint 2010,现在我们都很难对依赖于 SharePoint API 的代码进行单元测试。

我为 Microsoft.SharePoint 添加了一个假程序集,效果很好,但我到了需要覆盖方法的地步SPWeb.Locale。我以为这很容易。我以为会有一种方法,ShimSPWeb.LocaleGet但没有。

Locale这是我对我的唯一选择ShimSPWeb

在此处输入图像描述

简而言之:应该有一个shimWeb.LocaleGet可用的。

4

1 回答 1

1

我想到了。您可以将诊断添加到 *.fakes 设置文件。这可以在生成假程序集时启用调试输出。

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/" Diagnostic="true">

当我这样做时,我得到了这个输出:

unstubbable:方法是抽象的,不能被存根,类型 System.Globalization.CultureInfo 在目标框架版本中不可用

SharePoint 2010 面向 .Net 3.5 版。我的单元测试设置为目标框架.Net 4.0。我将单元测试项目的目标更改为 3.5,重新生成了假程序集,瞧!有效!

于 2013-08-21T06:50:14.047 回答