2017-09-15 4 views
0

현재 프로젝트에서 Rhinomocks를 사용해야합니다. Rhinomock을 사용하여 Autofixture를 설정하여 AutoConfigure와 Moq를 AutoConfiguredMoqCustomization 사용자 지정을 사용하여 조합 할 때와 동일한 동작을 얻을 수 있습니까?Rhinomock 버전의 AutoConfiguredMoqCustomization이 있습니까?

현재 아래에서 볼 수있는 것처럼 테스트 코드에서 많은 더미 모의 설정을해야합니다. 코드에서 나는 내가 만드는 위치에 대해 정말로 신경 쓰지 않는다. AutoFixture에 대한

var f = new Fixture(); 
     var masterDataProvider = MockRepository.GenerateStub<IMasterDataProvider>(); 
     masterDataProvider.Stub(x => x.GetAllLocations()).Return(f.CreateMany<Location>()); 
     f.Inject(masterDataProvider); 

답변

0

다양한 접착제 도서관은 전체 기능 패리티가없는 : 난 그냥 GetAllLocations 방법은 널 (null) 대신 위치의 임의의 목록을 반환합니다. AutoConfiguredMoqCustomization은 부분적으로 다른 접착제 라이브러리로 포팅 된 기능 중 하나입니다. IIRC는 Moq 및 다른 동적 모의 라이브러리에서만 사용할 수 있습니다.

짧은 대답은 이 아니며입니다.이 기능은 Rhino Mock에는 사용할 수 없습니다.


원래 답 :

예, AutoFixture.AutoRhinoMocks 대신 AutoFixture.AutoMoq 사용할 수 있습니다. 같은 방식으로 작동하지만 형식 이름 중 일부는 다릅니다. 예를 들어 ICustomization을 사용해야하는 경우는 AutoRhinoMockCustomization입니다.

+0

나는 AutoRhinoMocks를 시도했지만, 원하는대로 작동하지 않습니다. 위의 예에서 AutoRhinoMockCustomization을 사용하면 GetAllLocations()의 반환 값은 null입니다. f.CreateMany()를 호출 할 때처럼 3 개의 항목을 기본 값으로 반환하는 방법이 있습니까? 나는이 사건을 해결하기위한 구체적인 해결책을 찾고있는 것이 아니라 일반적인 것에 대한 해결책을 찾고있다. Moq을 사용하면 이것이 가능하다고 생각하지만 RhinoMock에 대해서는 확신 할 수 없습니다. – Flodpanter

+0

@Flodpanter 죄송합니다. 질문에 대한 오해가있었습니다. 내 업데이트 답변을 참조하십시오. –

+0

진술 해 주셔서 고맙습니다 :-) 나는 코뿔소의 큰 팬이 아니 었습니다. – Flodpanter

관련 문제