2010-12-16 1 views
2

보호 된 메서드에 대한 예상 된 호출을 설정하려고합니다.Moq의 보호 된 메서드에 대한 목록 형식의 인수 무시

protected SqlDataReader MethodName(string Name, List<SqlParameter> paramList, SqlConnection con) 

내가 지금까지 다음과 같이 기대를 설정하는 것과 왔어요,하지만 난 테스트 실행 오류 얻을 : 방법 서명은 다음과 같습니다

mock.Protected() 
    .Setup<SqlDataReader>("MethodName", "SomeString", ItExpr.IsAny<List<SqlParameter>>(), ItExpr.IsNull<SqlConnection>()) 
    .Returns(dataReader); 

은 내가 오류가이다 :

누구나 예상대로 작동하도록 설정할 수 있습니까? 나는 어떤 인수 값도 신경 쓰지 않는다. 적어도 한 번 호출 된 메서드는 chech하고 싶다.

답변

1

오류 메시지는 MethodName 메서드에 virtual 키워드를 추가해야하므로 Moq가 테스트에서이를 무시할 수 있음을 의미합니다.

+0

예, 그 트릭을했습니다. 나는 내가 가상으로 모의 할 필요가있는 모든 방법을 만들고 싶어하는지 확신 할 수는 없지만 그것이 Moq과 어떻게 연관되는지 보게 될 것이다. –

+0

@Anne : 예, 나에게도 조금 잘못되었습니다! –