부울 유형을 반환하는 비가 상 메소드를 조롱 해야하는 단위 테스트가 있습니다.
public class XmlCupboardAccess
{
public bool IsDataEntityInXmlCupboard(string dataId,
out string nameInCupboard,
out string refTypeInCupboard,
string nameTemplate = null)
{
return IsDataEntityInXmlCupboard(_theDb, dataId, out nameInCupboard, out refTypeInCupboard, nameTemplate);
}
}
그래서 XmlCupboardAccess
클래스 의 모의 객체가 있고 아래 표시된 것처럼 테스트 케이스 에서이 메소드에 대한 모의를 설정하려고합니다.
[TestMethod]
Public void Test()
{
private string temp1;
private string temp2;
private Mock<XmlCupboardAccess> _xmlCupboardAccess = new Mock<XmlCupboardAccess>();
_xmlCupboardAccess.Setup(x => x.IsDataEntityInXmlCupboard(It.IsAny<string>(), out temp1, out temp2, It.IsAny<string>())).Returns(false);
//exception is thrown by this line of code
}
그러나이 줄은 예외를 던졌습니다.
Invalid setup on a non-virtual (overridable in VB) member:
x => x.IsDataEntityInXmlCupboard(It.IsAny<String>(), .temp1, .temp2,
It.IsAny<String>())
이 예외를 해결하는 방법에 대한 제안이 있으십니까?
virtual
. Moq는 재정의 할 수없는 구체적인 유형을 조롱 할 수 없습니다.
XmlCupboardAccess
합니까?