2009-12-30 5 views
0

MoQ를 사용하여 일부 컨트롤러를 테스트하고 있습니다. 나는 기대를 설정할 수 없다.MoQ에 대한 기대치 설정

 var rep = new Mock<IUserRepository>(); 
     rep.Setup(r => r.Save()); 

문제는 내 Save() 방법은 그것의 인스턴스가 컨트롤러에 의해 생성되기 때문에 내가 기대에 설정할 수없는 User 객체를 기대하는 것입니다 : 이것은 내가 가지고있는 코드입니다. 특정 매개 변수를 전달하지 않고도 기대치를 설정할 수 있습니까? 매개 변수가 전달 된 경우에도 해당 메서드가 호출되었는지 확인하십시오.

답변

4

"Save() 메서드는 사용자 개체를 필요로합니까?"라는 의미를 설명 할 수 있습니까? 그것을 매개 변수로 기대합니까? 그렇다면, 당신은 설정에서 그 정의 할 수 있습니다 :

rep.Setup(r => r.Save(It.IsAny<SomeObjectType>())

그리고 한 그 형태가 SomeObjectType 같이 모든 개체에 걸릴 수 있습니다.

다른 의미가있는 경우 기대되는 동작의 코드 샘플을 보여주십시오.

+0

맞습니다. 방금 나 자신을 발견했다. 나는 It.AsAny ()으로 시도하고 있었는데, 내 메소드는 User 매개 변수를 사용해야했다. 나는 그것을 사용했다. 모든 것이 ()이었고 효과가 있었다. 감사합니다. – tucaz