2011-09-09 6 views
4

나는이 일을 전혀 할 수 없습니다. 내 시험에서이 코드를 가지고 :Rhino 모의로 IDbSet을 모의하는 방법

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: Method 'Create' on type 'IDbSet`1Proxy1862178487664986a7bd03ad3b5c6f2c' from assembly 'DynamicProxyGenAssembly2, Version=0.0.0.0, Culture=neutral, PublicKeyToken=a621a9e7e5c32e69' tried to implicitly implement an interface method with weaker type parameter constraints

어떤 아이디어이 될 수 있는지?

감사합니다.

답변

3

Rhino.Mocks (버전 3.6.0.0)의 일반 메서드 제약 조건과 관련된 알려진 문제가 발생했습니다.

은 '만들기'방법
TDerivedEntity Create<TDerivedEntity>() where TDerivedEntity : class, TEntity 

이 실패 때문에 제약 where TDerivedEntity : class, TEntity의 올바르게 생성합니다. 우리는 문제를 해결하기 위해 Rhino.Mocks의 다음 버전을 기다려야해야 할 것 같은 Can't get RhinoMocks to emit a mock that follows the generic type restriction rules

불행하게도, 보이는 :

여기에 버그에 대한 자세한 내용이 있습니다.

+0

아, 그건 이상적이지 않습니다 ... 어쨌든 나 자신의 수동 모의를 만들었습니다. 도와 주셔서 감사합니다! –

2

여전히이 문제에 대한 해결책을 찾고있는 사람들을위한 것입니다. rhino mocks 3.6.1 및 이후 버전에서이 문제가 해결되었습니다.

관련 문제