3

我有一个模拟的 DTO 类,其中包含我通过回调函数设置的属性。这对我有用,但是有没有更清洁的方法呢?

            Mock<MyDto> _MyDto = new Mock<MyDto>();

            _MyDto.Setup(dto => dto).Callback<MyDto>(dto => 
            {   
                dto.FirstName = "John";
                dto.LastName = "Doe";
            });

如果可能的话,我想调用中设置这些属性Setup,但它接受一个表达式,我不能在那里做一个多行语句。但是我的 Linq 知识并不是百科全书式的,我想知道是否有更好的方法来处理我正在做的事情。

4

2 回答 2

3

根据属性的 Moq 快速入门指南,您可以将代码更改为如下所示:

_MyDto.SetupProperty(dto => dto.FirstName, "John");
_MyDto.SetupProperty(dto => dto.LastName, "Doe");

我自己还没有机会使用 Moq,但这似乎是在 Moq 中模拟属性的方式。

于 2012-12-01T07:04:02.680 回答
2

我认为您误解了该Setup()方法的用途。您不应该使用所有初始化代码只调用一次。相反,您为要设置的每个单独项目调用一次。

于 2012-12-01T12:38:19.247 回答