在我的一些测试助手代码中,我有一个IDbSet(Of T)
实施称为FakeDbSet(Of T)
它在没有实际数据库的情况下模拟了许多 EF 行为。我已经宣布了班级Friend
因为我想强制所有代码像交互一样与它交互IDbSet(Of T)
。内部(即在我的Testing
程序集),我访问了该类的许多公共成员,我希望能够对其进行测试。
问题是,我将单元测试放在单独的程序集中Test.Unit
意思是他们无法访问我的内部实现!我知道我可以通过反思来解决这个问题,但这很快就会变得麻烦和混乱。有没有更好的方法来设置我的项目来避免这个问题?
将其添加到您的 AssemblyInfo.cs 文件中:
[assembly:InternalsVisibleTo("YourOtherAssembly")]
这将使您的内部组件可见YourOtherAssembly
。但是,您应该真正考虑是否需要它internal
。当编写测试时,尝试专注于你的public
parts.
在这里阅读更多内容:http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.internalsvisibletoattribute.aspx http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.internalsvisibletoattribute.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)