Moq类的接口属性 [英] Moq an interface property of a class

查看:58
本文介绍了Moq类的接口属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

具有以下条件:

var contact = m_someFactory.Create<IContact>(contact, Page.ID);
var organization = contact.Organization;

我需要模拟someFactory和Organization接口.

I need to mock someFactory as well as Organization interface.

我已经尝试过此操作,但联系方式返回为空.我想将contact设置为what和contact.Organization,但不设置为null IOrganization:

I've tried this but contact comes back null. I want to set contact to whatever and contact.Organization to anything but not null IOrganization:

    var organizationMock = new Mock<IOrganization>();
    ObjectFactoryMock.Setup(x => x.Create<IContact>()).Returns(new ContactFake{ Organization = organizationMock.Object });

推荐答案

您需要使用相同的参数设置方法:

You need to set up the method with the same parameters:

 ObjectFactoryMock.Setup(x => x.Create<IContact>(It.IsAny<T>,It.IsAny<T>)).Returns(new ContactFake{ Organization = organizationMock.Object });

但是将T替换为contact和page.id的类型

But replace the T's with the types of contact and page.id

请参见 https://github.com/Moq/moq4/wiki/Quickstart #matching-arguments

这篇关于Moq类的接口属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆