단위 테스트 Dapper 업데이트

dapper extension-methods moq nunit unit-testing

문제

Database.Setup(x => x.Update(It.IsAny<Subscription>()))
                    .Callback<object>(sub => SavedSubscription = sub as Subscription);

이 라인은 PetaPoco에서 작동합니다. 프로젝트 요구 사항 때문에 Dapper (그리고 CRUD 메소드를 사용하려면 DapperExtensions를 추가해야 함)로 전환해야하므로이 오류가 발생합니다.

표현식 트리에는 선택적 인수를 사용하는 호출이나 호출이 포함될 수 없습니다.

어떤 아이디어가 이것을 처리하는 방법?

인기 답변

당신은 (같은 선택적 매개 변수를이 방법을 조롱 MOQ를 사용할 수 없습니다 Update 않습니다 ). 자세한 내용은 이 질문 을 참조하십시오. 그러나 Update 메서드의 모든 매개 변수를 지정하지 않아도됩니다.

이것은 Moq가 아닌 프레임 워크에 고유 한 제한 사항입니다. Expression 기본 매개 변수가있는 메소드를 전달할 수 없습니다. Jon Skeet은 왜 여기 에서 좋은 시연을 합니다 .



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow