문제
이 답변에 대해 인터넷 검색/읽기를 읽는 동안 여기서도 물어볼 것이라고 생각했습니다.
SDK를위한 래퍼 인 수업이 있습니다. 이 클래스는 Iloader 객체를 받아들이고 Iloader 객체를 사용하여 IsMallBusinessInstance 객체로 캐스팅되는 IsbaObject를 만듭니다. 나는 단순히 MOQ를 사용 하여이 행동을 조롱하려고 노력하고 있습니다.
[TestMethod]
public void Test_Customer_GetByID()
{
var mock = new Mock<ILoader>();
var sbainst = new Mock<ISbaObjects>();
mock.Expect(x => x.GetSbaObjects("")).Returns(sbainst);
}
컴파일러 오류는 다음과 같습니다. 오류 1 'Moq.language.ireturns.returns (Microsoft.businessSolutions.smallbusinessAccounting.loader.isbaobjects)'에 대한 가장 좋은 과부하 메소드 일치.
여기서 무슨 일이 일어나고 있습니까? 나는 isbaobjects의 조롱이 문제없이 반환 될 수있을 것으로 기대했다.
해결책
sbinst는 isbaobjects의 인스턴스가 아니기 때문에 sbainst.object를 사용해야합니다. 단지 모의 부분 일뿐입니다.
다른 팁
업데이트, 올바른 코드
[TestMethod]
public void Test_Customer_GetByID()
{
var mock = new Mock<ILoader>();
var sbainst = new Mock<ISbaObjects>();
mock.Expect(x => x.GetSbaObjects("")).Returns(sbainst.Object);
}
제휴하지 않습니다 StackOverflow