2010-12-06 5 views
11

Moq처럼 보입니다. 데이터를 캐싱합니다. 반환 값으로 설정합니다. 나는이 작업을 수행 할 때 : 그것은 을 반환Moq 캐시 반환 값

var service = new Mock<AlbumService>(); 
service.Setup(x => x.CreateOne()).Returns(new AlbumService().CreateOne()); 

같은 객체도 AlbumService.CreateOne()가 새 앨범의 인스턴스를 반환 생각했다.

CreateOne()에 액세스 할 때마다 Moq에서 Returns Action을 호출 할 수 있습니까? 이 도움한다고

답변

13

:

var service = new Mock<AlbumService>(); 
service.Setup(x => x.CreateOne()).Returns(() => new AlbumService().CreateOne()); 

가 정교하게하려면, 반품 방법은 반환 형식 또는 반환 형식으로 평가됩니다 대리자의 객체를 받아들입니다. 대리자는 조롱 된 메서드가 호출 될 때마다 호출됩니다.