2009-04-21 2 views
4

나는 쿼리를 작성하고 실행하는 메소드에 대한 호출에 대한 기대를 설정하고있다. 내가 사용하는 매개 변수의 속성을 조사하고 싶습니다. 이게 가능합니까Rhino Mock에서 기대했던 매개 변수를 사용할 수 있습니까?

using (mocks.Record()) 
{ 
    Expect.Call(connection.Retrieve(SOMETHING_HERE)).Return(returnedDatay); 
} 

비트는 "SOMEETHING HERE"비트입니다.

답변

10

당신은 당신의 매개 변수에 대한 및 매개 변수의 특성에 제약 조건을 설정할 수 있습니다 (이것은 Rhino에서 조롱 사용하여 내 처음이다). 다음 코드는 연결 개체의 MyProperty라는 속성에 대한 제약 조건을 설정합니다. mock은 MyProperty가 42 일 것으로 예상합니다. 무시되므로 null이 매개 변수로 전달됩니다.

Expect 
    .Call(connection.Retrieve(null)) 
    .IgnoreArguments() 
    .Constraints(Property.Value("MyProperty", 42)) 
    .Return(returnedData); 

메모리에서이 글을 쓰고있어 정확한 것은 아닙니다.


UPDATE :

http://kashfarooq.wordpress.com/2009/01/10/rhino-mocks-and-getargumentsforcallsmadeon/

+0

것은 내가 할 수없는 것 :

코뿔소 모의 객체 버전 3.5을 사용하면 조롱 객체에 전달 된 매개 변수를 검사 할 수있는 새로운 확장 방법 GetArgumentsForCallsMadeOn를 소개합니다 그게 내가 필요한 것. null을 넣은 곳은보고 싶은 매개 변수입니다. –

+0

왜 매개 변수의 속성을 조사하려고합니까? 속성이 무엇인지 확인하려고하기 때문입니까? 그것이 바로 내 코드가하는 일이기 때문입니다. –

+0

Rhino Mocks 버전 3.5에는 조롱 된 객체에 전달 된 매개 변수를 검사 할 수있는 새로운 확장 메소드 GetArgumentsForCallsMadeOn이 있습니다. –