因此,问题在于我的程序集中有很多内部类,这些内部类供我要测试的类使用。由于访问器已从VS2012中删除,因此我可以使用[InternalsVisibleTo]很好用,并且效果很好...除非我尝试使内部类趋于匀化,否则Fakes框架看不到它们。我还应注意,我要处理的特定类是带有静态方法的静态类,并且由于组织对这种级别的重构存在抵触感,所以我实际上并不想重构所有东西以使用接口(interface)(以及使用 stub )。

有没有一种方法可以使这些内部成员在Visual Studio 2012中的填充上下文中可用,而无需诉诸(字面意义上的)所有接口(interface)?

最佳答案

下一页描述如何使内部类型对生成的伪造程序集可见。 http://msdn.microsoft.com/en-us/library/hh708916.aspx#bkmk_internal_types

上面写着:



因此,您需要一个InternalsVisibleToAttribute来授予您的测试程序集访问目标程序集内部类型的权限。换句话说:

[assembly: InternalsVisibleTo("TargetAssembly.Fakes")]
[assembly: InternalsVisibleTo("TestAssembly")]

关于visual-studio-2012 - 如何使用Fakes Framework垫片模拟/隔离VS 2012中的内部类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13573112/

10-14 14:12