~ 1Repository와 같은 일반 클래스를 사용하여 Moq을 통해 Linq 표현을 모의 할 수 있습니까? ~ IRepository는 StructureMap이나 Windsor와 같은 IoC를 통해 주입되는 것입니까? 테스트하려면Moq .GetMock을 사용하여 Linq 표현식으로 ~ 1 개의 직필자를 등록 하시겠습니까?
CODE :
var person = _repository.Find<Person>()
.Where(p => p.Id == person.Id).SingleOrDefault();
TEST :
var repository = new Mock<IRepository>();
repository.Setup(i => i.Find<Person>()
.Where(p => p.Id == person.Id).SingleOrDefault())
.Returns(person).Verifiable();
예외 :
System.ArgumentException : A의 잘못된 설정이 아닌 나 mber 방법.. I => i.Find() 여기서 (p => p.Id == "프레드") SingleOrDefault()
용액 Find<T>()
인
using System.Linq;
...
_container.GetMock<IRepository>.Setup(i => i.Find<Person>())
.Returns(new List{person}.AsQueryable()).Verifiable();
...
정말 고맙습니다. 이것은 매력처럼 작동했습니다. – Andrew