【问题标题】:Dynamics CRM 2011 Mocking动态 CRM 2011 模拟
【发布时间】:2012-07-13 18:42:48
【问题描述】:

我一直在为一项服务设置一些单元测试,该服务通过 SDK 显示 Dynamics CRM 2011 数据并使用 Mocks 来模拟交易。这对于大多数简单事务来说都可以,但是,现在我需要测试一种方法,该方法利用来自 SDK 的 RetrieveAttributeRequest 消息来检索 OptionSetValue 标签。为了能够模拟返回的对象,需要确切了解此方法如何检索属性数据,但我无法找到此信息。

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

谢谢。

【问题讨论】:

  • OptionSetValues存储在StringMap表中,关键字段为AttributeNameOptionSet字段名),AttributeValueOptionSetValue的数值),@ 987654327@(字符串值)和ObjectTypeCode(相关实体的整数标识符)。
  • 我会把它写下来作为答案@PeterMajeed,我认为这涵盖了它!
  • @glosrob:不过,我认为它只涵盖了第 2b 部分。 :) 如果这就是 OP 的全部需求,我会做的。
  • 感谢您的回答@PeterMajeed。我很乐意将其标记为答案。我当然对问题的第一部分也很感兴趣,因为我觉得 Dynamics CRM 定制正在进一步突破界限,让我们自己相信我们的测试已经足够,并且在没有的情况下以令人满意的方式模拟一切变得更加棘手。将每条 SDK 消息拆解到根源。
  • @PhilipRich:感谢您的进一步澄清。如果您真的想回答问题的第一部分,请务必让我的回答“不接受”;在这种情况下,有人可能仍然能够提供更好的答案。

标签: unit-testing mocking dynamics-crm dynamics-crm-2011 crm


【解决方案1】:

要(仅!)回答问题的第二部分,OptionSetValues 存储在 StringMap 表中,关键字段为 AttributeNameOptionSet 字段名称),AttributeValue(整数值OptionSetValue)、Value(字符串值)和ObjectTypeCode(相关实体的整数标识符)。

【讨论】:

    【解决方案2】:

    供参考:我们最终将“GetOptionSetMetadata”方法(利用 RetrieveAttributeRequest')抽象为一个通用接口。然后创建了该方法的 Mock 实现,该方法纯粹返回一个表示 Label 和 Value 选项集值的 Dictionary。这样我们就无需在 mockServiceContext 中实际模拟特定返回的对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-29
      • 1970-01-01
      • 2015-07-16
      • 1970-01-01
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多