Fin*_*ter 9 internalsvisibleto microsoft-fakes visual-studio-2012
所以,问题是我的程序集中有一堆内部类,我想要测试的类使用它们.由于访问器已经从VS2012中删除了,我使用起来很好,[InternalsVisibleTo]
而且效果很好......除非我试图填充我的内部类,否则它们对于Fakes框架是不可见的.我还应该注意,我正在处理的特定类是一个带静态方法的静态类,我真的不想重构所有东西以使用接口(并使用存根),因为组织中的阻力到了那个级别的重构.
有没有办法让这些内部成员可以在Visual Studio 2012中使用填充程序上下文,而无需依靠接口(字面上)一切?
Ole*_*ych 23
以下页面描述了如何使内部类型对生成的fakes程序集可见.http://msdn.microsoft.com/en-us/library/hh708916.aspx#bkmk_internal_types
哪个说:
Fakes代码生成器将为生成的Fakes程序集可见的类型生成填充类型和存根类型.要使Fakes和测试程序集可以看到内部类型的填充程序集,请将InternalsVisibleToAttribute属性添加到填充程序集代码中,以便为生成的Fakes程序集和测试程序集提供可见性.
[assembly: InternalsVisibleTo("FileSystem.Fakes")]
[assembly: InternalsVisibleTo("FileSystem.Tests")]
Run Code Online (Sandbox Code Playgroud)
您还需要一个InternalsVisibleToAttribute,以允许测试程序集从目标程序集访问内部类型.换句话说,你需要:
[assembly: InternalsVisibleTo("TargetAssembly.Fakes")]
[assembly: InternalsVisibleTo("TestAssembly")]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6455 次 |
最近记录: |