如何测试长嵌套属性方法调用?

时间:2015-08-30 15:07:00

标签: c# unit-testing

我应该如何测试调用嵌套属性方法的方法?类似的东西:

PropertyA.PropertyB.PropertyC.DoSomething();

我应该为每个属性创建模拟并检查是否调用了方法DoSomething()?看起来很简单的方法调用的测试代码。还有更好的方法吗?

2 个答案:

答案 0 :(得分:2)

你是对的。您必须为所需的所有对象配置mock。配置取决于您选择使用的模拟框架。

答案 1 :(得分:0)

经过小规模的研究和@jessehouwing评论后发现,这种做法是代号气味,称为“消息链”,应该避免因为Demeter违规法。更多信息:http://haacked.com/archive/2009/07/14/law-of-demeter-dot-counting.aspx/