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

本文关键字:嵌套 属性 方法 调用 何测试 测试 | 更新日期: 2023-09-27 18:10:22

我应该如何测试调用嵌套属性方法的方法?比如:

PropertyA.PropertyB.PropertyC.DoSomething();

我应该为每个属性创建mock并检查方法DoSomething()是否被调用?看起来像简单方法调用的大量测试代码。有没有更好的办法?

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

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

经过小研究和@jessehouwing的评论发现,这种做法的代码气味叫做"消息链",应该避免,因为违反了得墨忒耳定律。更多信息:http://haacked.com/archive/2009/07/14/law-of-demeter-dot-counting.aspx/