我正在尝试更改我对 ArcGIS 的单元测试,并开始使用模拟(我使用 rhino)。
当我开始编写测试时,我注意到我必须开始模拟很多对象,并存根很多方法才能通过单个测试。
例如 - 我的控制器首先得到一个RelationshipClass
(所以我需要存根IWorkspace
和返回IRelationshipClass
),然后也得到一个IFeature
(A存根),最后调用stubRelClass.GetRelatedObjects(stubFeature)
, 来返回一个ISet
of other IFeatures
。
为了让它通过而必须存根这么多对象和方法是否正常?我也觉得我真的需要跳过代码(是的 - 我知道我应该先编写测试,我仍在尝试这个),以便找出接下来要存根的内容,以及我应该返回的内容。
我在模拟实现多个接口的 com 类时也遇到了问题。在生产代码中,我在接口之间对它们进行了 QI。如何创建一个在运行时实现两个接口的模拟?