设置给定类型的模拟的所有属性以返回值

Sup*_*JMN 0 .net c# unit-testing moq mocking

我想让我的模拟(使用 Moq)为其中的每个 DateTime 类型的属性返回一个给定的 DateTime。

我该怎么做?

我试过,mock.SetupAllProperties()但它不接受任何配置。

Evk*_*Evk 5

我认为这对您的用例应该没问题:

var mock = new Mock<IFoo>();
mock.SetReturnsDefault(DateTime.Now);
Run Code Online (Sandbox Code Playgroud)

SetReturnsDefault为指定类型的所有方法和属性设置默认返回值(因此,如果您传递DateTime那里的实例- 这将是返回的所有属性和方法的默认值DateTime)。