Moq 接口 属性 of a class
Moq an interface property of a class
具有以下特征:
var contact = m_someFactory.Create<IContact>(contact, Page.ID);
var organization = contact.Organization;
我需要模拟 someFactory 和 Organization 接口。
我已经试过了,但联系人返回为空。我想将联系人设置为任何内容,将 contact.Organization 设置为任何内容,但不是 null IOrganization:
var organizationMock = new Mock<IOrganization>();
ObjectFactoryMock.Setup(x => x.Create<IContact>()).Returns(new ContactFake{ Organization = organizationMock.Object });
您需要使用相同的参数设置方法:
ObjectFactoryMock.Setup(x => x.Create<IContact>(It.IsAny<T>,It.IsAny<T>)).Returns(new ContactFake{ Organization = organizationMock.Object });
但将 T 替换为联系人类型和 page.id
见https://github.com/Moq/moq4/wiki/Quickstart#matching-arguments
具有以下特征:
var contact = m_someFactory.Create<IContact>(contact, Page.ID);
var organization = contact.Organization;
我需要模拟 someFactory 和 Organization 接口。
我已经试过了,但联系人返回为空。我想将联系人设置为任何内容,将 contact.Organization 设置为任何内容,但不是 null IOrganization:
var organizationMock = new Mock<IOrganization>();
ObjectFactoryMock.Setup(x => x.Create<IContact>()).Returns(new ContactFake{ Organization = organizationMock.Object });
您需要使用相同的参数设置方法:
ObjectFactoryMock.Setup(x => x.Create<IContact>(It.IsAny<T>,It.IsAny<T>)).Returns(new ContactFake{ Organization = organizationMock.Object });
但将 T 替换为联系人类型和 page.id
见https://github.com/Moq/moq4/wiki/Quickstart#matching-arguments