问题标签 [fakexrmeasy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 指定的演员阵容无效
我正在尝试为我继承的代码回顾性地编写一些单元测试。
一种特殊的方法是在 Dynamics CRM 2011 插件方法中导致我出现LinkedEntity
FilterCondition
问题QueryExpression
实体结构
联系人 -(N:1 [查找])-> CustomEntity1 -(N:1 [查找])-> CustomEntity2
方法的目的
我尝试测试的方法创建了一个基于 的属性的QueryExpression
过滤器,包括 a 的值。Contacts
CustomEntity1
LookupField
CustomEntity2
工作查询代码
为了测试我对 QueryExpression 的理解,我重写了如下代码
此代码返回一个 QueryExpression,然后用于运行测试,当使用 FakeXrmEasy 中设置的一些测试数据运行时,测试通过。但是,我需要确保我的更改不会对当前代码和逻辑产生负面影响,因此希望在进行任何更改之前根据当前方法检查我的结果。
非工作代码
我尝试过
的不幸的是,由于QueryExpression
在请求中执行,RetrieveMultiple
我无法进入代码以找出导致无效转换的数据,但是,注释掉在非工作代码中标记的区域意味着异常发生离开。
重写代码是一种选择 - 这就是我知道 TestData 的工作原理,因为我编写的工作 QueryExpression 代码返回一组数据。
我目前不知道问题是否与 QueryExpression 或 FakeXrmEasy 有关,因此如果无法提供实际解决方案,即使提供追踪问题根本原因的方法也会有所帮助。
注意:出于保密原因,自定义实体、字段和查找的名称已更改。如果名称不匹配,则可能是手动换位错误而不是代码问题。
c# - 使用 fakexrmeasy 创建链接数据
如何在 FakeXrmEasy 中创建一个实体并将另一个实体链接到它?
我正在尝试测试此代码:
abc_OrderTask 和 abc_WorkOrder 的关系是 N:1
在我的测试中,我试图链接这两个实体:
但是,结果集是空的。
如何在 FakeXrmEasy 中创建一个实体并将另一个实体链接到它?
下面是这个对象是如何被更新的:
c# - 如何查询链接的笔记?
我有一个方法可以将注释链接到销售订单:
我正在尝试使用以下测试对该方法进行单元测试:
...
我不明白为什么annotations
为空。当我使用上述关联请求将一个实体链接到另一个实体时,它不应该通过 ObjectId 链接这两个实体吗?
c# - Dynamics 365 FakeXrm“usersettings”实体错误
我的 Dynamics 365 插件中有这段代码,
我正在用 FakeXrm 为它编写一个 UnitTest,在调试时我在这个查询表达式中遇到了一个错误。
这是我的假 Xrm 代码。
问题是,如何在 FakeXrm 中创建用户设置实体并为其提供适当的属性。
c# - FakeXRMEasy:使用 AddFakeMessageExecutor 覆盖更新请求行为
我正在尝试针对更新请求引发异常的情况创建测试。使用 FakeXRMEasy 可以做到这一点吗?我曾尝试使用 AddFakeMessageExecutor,但目前它不起作用:
我的假消息执行器类:
测试中使用:
在工作流中调用更新请求:
我希望这会引发异常,但目前更新请求已成功完成。我怎样才能使这项工作?
c# - 如何重构方法以用 IOrganizationService 替换 OrganizationServiceProxy
我正在尝试重构我的代码,以便我可以使用 fakexrmeasy 进行单元测试。
作为此处提到的建议重构的一部分,我尝试将 IOrganizationService 传递到我的所有类和方法中。但是,我的一些类使用了 IOrganizationService 没有的变量和方法,例如 Timeout。我正在尝试找到一种方法来重构使用 IOrganizationService 而不会丢失功能。
这就是它在重构之前的存在方式。
这是重构之后。我尝试将 IOrganizationService 强制转换为 OrganizationServiceProxy,但伪造的服务上下文无法处理此强制转换。抛出异常。
我试过使用 IOrganizationServiceFactory,正如这篇文章中所建议的那样。问题是,factory.CreateOrganizationService() 生成的是 IOrganizationService,而不是 OrganizationServiceProxy。
如何在不丢失功能的情况下重构以使用 IOrganizationService 而不是 OrganizationServiceProxy?我猜我可能不得不以某种方式将 IOrganizationService 实现为 OrganizationServiceProxy。
unit-testing - fakexrmeasy 单元测试中的 Dynamics 365 货币字段基础货币重新计算
我是 Dynamics 365 的新手,最近开始使用假 XRM 测试我的代码。
我刚刚遇到了一个与货币(货币)字段计算相关的问题,正在为其创建附加字段(名称以“_Base”结尾)。在单元测试中,货币字段的基础不会被重新计算。
场景是: - 被测代码在“Account”实体上设置“Money”类型的“turnover”字段。- 后来总结了“周转”基础货币部分。(帐户在总结之前在上下文中刷新)
结果:营业额总和计算为 0,而在实际开发环境中计算正确。
通常情况下,被测代码依赖于重新计算的值。
如何在单元测试中模拟此类基础货币字段的重新计算?
dynamics-crm - 有没有办法自动强制插件执行
我希望插件自动触发。FakeXrmEasy 支持这个吗?我尝试了以下 - 插件:
但是插件永远不会执行。
dynamics-crm - 获取 Dynamics CRM 中的所有实体元数据
我想做的是:
- 从 CRM 中检索所有元数据。
- 序列化该元数据并将其存储在文件中。
- 稍后,反序列化该元数据并将其提供给 XrmFakeEasy 以进行单元测试。
第 2 步和第 3 步已完成,但我不知道如何完成第 1 步。我花了一些时间在代码和 Google 上闲逛,但仍然感到困惑。
我们正在使用.Net,所以我需要读取所有实体元数据(类型:Microsoft.Xrm.Sdk.Metadata.EntityMetadata)。
如果有人知道如何做到这一点,或者可以指出 API 的方向(我一直找不到),请告诉我。
PS 此案例适用于本地 crm。