2009-10-15 5 views
4

Moq을 배우고 있으며 SecurityContexts 목록을 반환하는 Contexts 속성을 가진 ISecureAsset 인터페이스를 조롱하고 싶습니다. 인증을 위해 Contexts 속성에 액세스하는 다른 클래스의 메서드를 테스트하고 있습니다.List 유형의 속성을 사용하여 객체에 대한 호출 조롱

public interface ISecureAsset { 

    List<SecurityContext> Contexts { get; set; } 
} 

어떻게하면 Moq에서이 작업을 수행 할 수 있습니까? 컨텍스트 목록에서도 값을 설정할 수 있기를 원합니다.

답변

4

가짜 SecurityContext 목록을 반환하는 속성을 설정하기 만하면됩니다.

var mockAsset = new Mock<ISecureAsset>(); 

var listOfContexts = new List<SecurityContext>(); 
//add any fake contexts here 

mockAsset.Setup(x => x.Contexts).Returns(listOfContexts); 

Moq quickstart guide이 도움이 될 수 있습니다.

+0

이 ... 1 분에 받아 들여 그 기록의 일종? – womp

2
var mockSecureAsset = new Mock<ISecureAsset>(); 
mockSecureAsset.SetupGet(sa => sa.Contexts).Return(new List<SecurityContext>()); 

또는

mockSecureAsset.SetupProperty(sa => sa.Contexts); 
mockSecureAsset.Object.Contexts = new List<SecurityContext>(); 
관련 문제