[英]Internal properties are not handled by NSubstitute
假设我有以下课程:
public abstract class Test
{
internal abstract int Prop
{
get;
}
}
现在,我尝试使用NSubstitute进行模拟:
var mock = Substitute.For<Test>();
但那失败了:
程序集'DynamicProxyGenAssembly2,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = a621a9e7e5c32e69'中类型'Castle.Proxies.TestProxy'中的方法'get_Prop'没有实现。
我想到将NSubstitute
添加到[InternalsVisibleTo]
,但不幸的是我测试的程序集已经签名, NSubstitute
不是,而Internals
不能是VisibleTo
unsigned类。
我怎么解决这个问题?
我找到了解决方案。 必须将以下行添加到要测试的程序集的Assembly.cs
文件中( 而不是测试程序集):
[assembly:InternalsVisibleTo("DynamicProxyGenAssembly2,PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.