[英]How to mock IDbSet with Rhino Mocks
我根本无法正常工作。 我的测试中有以下代码:
MockRepository repository = new MockRepository();
IDbSet<SystemUser> userSet = repository.StrictMock<IDbSet<SystemUser>>();
Expect.Call(userSet.Any(u => u.Id == "UserName")).Return(true);
// More code follows
但是它在StrictMock
行上炸毁并显示错误:
System.TypeLoadException:从程序集'DynamicProxyGenAssembly2,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = a621a9e7e5c32e69'的类型'IDbSet'1Proxy1862178487664986a7bd03ad3b5c6f2c'上的方法'Create'试图隐式实现具有较弱类型参数约束的接口方法
有什么想法吗?
谢谢!
您遇到了Rhino.Mocks(版本3.6.0.0)具有通用方法约束的已知问题。
“创建”方法:
TDerivedEntity Create<TDerivedEntity>() where TDerivedEntity : class, TEntity
由于where TDerivedEntity : class, TEntity
的约束where TDerivedEntity : class, TEntity
正确生成。
这里有关于该错误的更多信息: 无法使RhinoMocks发出遵循通用类型限制规则的模拟
不幸的是,看来我们将不得不等待下一个Rhino.Mocks版本才能解决此问题。
对于那些仍在寻找解决方案的人。 犀牛模拟3.6.1和更高版本解决了此问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.