Unit testing 动力学CRM 2011模拟

Unit testing 动力学CRM 2011模拟,unit-testing,mocking,dynamics-crm,dynamics-crm-2011,crm,Unit Testing,Mocking,Dynamics Crm,Dynamics Crm 2011,Crm,我已经为一个服务设置了一些单元测试,该服务通过SDK呈现Dynamics CRM 2011数据,并使用模拟来模拟事务。这对大多数简单事务都适用,但是,现在我需要测试一个方法,该方法使用SDK中的RetrieveAttributeRequest消息来检索OptionSetValue标签。为了能够模拟返回的对象,需要知道这个方法是如何检索属性数据的,但是我还没有找到这个信息 1) 这是解决这个问题的正确方法,还是让我们将集成测试作为主要选项。 2) 如果这是有效的,那么请求的数据来自哪个表 谢谢。要

我已经为一个服务设置了一些单元测试,该服务通过SDK呈现Dynamics CRM 2011数据,并使用模拟来模拟事务。这对大多数简单事务都适用,但是,现在我需要测试一个方法,该方法使用SDK中的RetrieveAttributeRequest消息来检索OptionSetValue标签。为了能够模拟返回的对象,需要知道这个方法是如何检索属性数据的,但是我还没有找到这个信息

1) 这是解决这个问题的正确方法,还是让我们将集成测试作为主要选项。 2) 如果这是有效的,那么请求的数据来自哪个表


谢谢。

要(仅!)回答问题的第二部分,
选项设置值
存储在
StringMap
表中,关键字段为
AttributeName
OptionSet
字段名)、
AttributeValue
OptionSetValue
的整数值),
value
(字符串值)和
ObjectTypeCode
(相关实体的整数标识符)。

作为参考:我们最终抽象了我们的“GetOptionSetMetadata”方法(该方法使用RetrieveAttribute请求)然后创建该方法的模拟实现,该方法纯粹返回一个表示标签和值选项集值的字典。这样我们就避免了在mockServiceContext中实际模拟特定返回对象的需要。

选项集值
存储在
StringMap
表中,例如y字段为
AttributeName
OptionSet
字段名)、
AttributeValue
OptionSetValue
的数值)、
value
(字符串值)和
ObjectTypeCode
(相关实体的整数标识符)。我会写下来作为答案@PeterMajeed,我想这就涵盖了它!@glosrob:我想它只涵盖了2b部分。:)如果这是所有OP需要的,我会的。谢谢你的回答@PeterMajeed。我很乐意将此作为一个答案。我当然对问题的第一部分感兴趣,因为我觉得Dynamics CRM定制正在进一步推进边界,我们很难说服自己我们的测试已经足够了,而且在不彻底分解每个SDK消息的情况下,以令人满意的方式模拟每件事也会变得更加棘手。@PhilipRich:谢谢你的进一步澄清。如果你真的想回答你问题的第一部分,一定要让我的回答“不被接受”;在这种情况下,也许还有人能提供更好的答案。