问题标签 [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.

0 投票
1 回答
206 浏览

c# - 指定的演员阵容无效

我正在尝试为我继承的代码回顾性地编写一些单元测试。

一种特殊的方法是在 Dynamics CRM 2011 插件方法中导致我出现LinkedEntity FilterCondition问题QueryExpression

实体结构

联系人 -(N:1 [查找])-> CustomEntity1 -(N:1 [查找])-> CustomEntity2

方法的目的

我尝试测试的方法创建了一个基于 的属性的QueryExpression过滤器,包括 a 的值。ContactsCustomEntity1LookupFieldCustomEntity2

工作查询代码

为了测试我对 QueryExpression 的理解,我重写了如下代码

此代码返回一个 QueryExpression,然后用于运行测试,当使用 FakeXrmEasy 中设置的一些测试数据运行时,测试通过。但是,我需要确保我的更改不会对当前代码和逻辑产生负面影响,因此希望在进行任何更改之前根据当前方法检查我的结果。

非工作代码

我尝试过 的不幸的是,由于QueryExpression在请求中执行,RetrieveMultiple我无法进入代码以找出导致无效转换的数据,但是,注释掉在非工作代码中标记的区域意味着异常发生离开。

重写代码是一种选择 - 这就是我知道 TestData 的工作原理,因为我编写的工作 QueryExpression 代码返回一组数据。

我目前不知道问题是否与 QueryExpression 或 FakeXrmEasy 有关,因此如果无法提供实际解决方案,即使提供追踪问题根本原因的方法也会有所帮助。

注意:出于保密原因,自定义实体、字段和查找的名称已更改。如果名称不匹配,则可能是手动换位错误而不是代码问题。

0 投票
3 回答
1200 浏览

c# - 使用 fakexrmeasy 创建链接数据

如何在 FakeXrmEasy 中创建一个实体并将另一个实体链接到它?

我正在尝试测试此代码:

abc_OrderTask 和 abc_WorkOrder 的关系是 N:1

在我的测试中,我试图链接这两个实体:

但是,结果集是空的。

如何在 FakeXrmEasy 中创建一个实体并将另一个实体链接到它?

下面是这个对象是如何被更新的:

0 投票
0 回答
516 浏览

c# - 如何为实体添加注释?

我正在尝试为此方法编写单元测试:

我的单元测试创​​建了 2 个注释,并将它们附加到销售订单:

向我的实体添加注释时做错了什么?

我问的原因是因为当单元测试运行这段代码时:

var 结果 = _xrmServiceContext.SalesOrderSet.Where(x => x.Id == orderGuid);

它表明虽然有 1 个结果,但应该是正确的;它表明没有注释与其链接:

在此处输入图像描述

0 投票
1 回答
106 浏览

c# - 如何查询链接的笔记?

我有一个方法可以将注释链接到销售订单:

我正在尝试使用以下测试对该方法进行单元测试:

...

我不明白为什么annotations为空。当我使用上述关联请求将一个实体链接到另一个实体时,它不应该通过 ObjectId 链接这两个实体吗?

0 投票
2 回答
162 浏览

c# - Dynamics 365 FakeXrm“usersettings”实体错误

我的 Dynamics 365 插件中有这段代码,

我正在用 FakeXrm 为它编写一个 UnitTest,在调试时我在这个查询表达式中遇到了一个错误。

这是我的假 Xrm 代码。

问题是,如何在 FakeXrm 中创建用户设置实体并为其提供适当的属性。

0 投票
1 回答
1140 浏览

c# - FakeXRMEasy:使用 AddFakeMessageExecutor 覆盖更新请求行为

我正在尝试针对更新请求引发异常的情况创建测试。使用 FakeXRMEasy 可以做到这一点吗?我曾尝试使用 AddFakeMessageExecutor,但目前它不起作用:

我的假消息执行器类:

测试中使用:

在工作流中调用更新请求:

我希望这会引发异常,但目前更新请求已成功完成。我怎样才能使这项工作?

0 投票
4 回答
744 浏览

c# - 如何重构方法以用 IOrganizationService 替换 OrganizationServiceProxy

我正在尝试重构我的代码,以便我可以使用 fakexrmeasy 进行单元测试。

作为此处提到的建议重构的一部分,我尝试将 IOrganizationService 传递到我的所有类和方法中。但是,我的一些类使用了 IOrganizationService 没有的变量和方法,例如 Timeout。我正在尝试找到一种方法来重构使用 IOrganizationService 而不会丢失功能。

这就是它在重构之前的存在方式。

这是重构之后。我尝试将 IOrganizationService 强制转换为 OrganizationServiceProxy,但伪造的服务上下文无法处理此强制转换。抛出异常。

我试过使用 IOrganizationServiceFactory,正如这篇文章中所建议的那样。问题是,factory.CreateOrganizationService() 生成的是 IOrganizationService,而不是 OrganizationServiceProxy。

如何在不丢失功能的情况下重构以使用 IOrganizationService 而不是 OrganizationServiceProxy?我猜我可能不得不以某种方式将 IOrganizationService 实现为 OrganizationServiceProxy。

0 投票
1 回答
59 浏览

unit-testing - fakexrmeasy 单元测试中的 Dynamics 365 货币字段基础货币重新计算

我是 Dynamics 365 的新手,最近开始使用假 XRM 测试我的代码。

我刚刚遇到了一个与货币(货币)字段计算相关的问题,正在为其创建附加字段(名称以“_Base”结尾)。在单元测试中,货币字段的基础不会被重新计算。

场景是: - 被测代码在“Account”实体上设置“Money”类型的“turnover”字段。- 后来总结了“周转”基础货币部分。(帐户在总结之前在上下文中刷新)

结果:营业额总和计算为 0,而在实际开发环境中计算正确。

通常情况下,被测代码依赖于重新计算的值。

如何在单元测试中模拟此类基础货币字段的重新计算?

0 投票
2 回答
181 浏览

dynamics-crm - 有没有办法自动强制插件执行

我希望插件自动触发。FakeXrmEasy 支持这个吗?我尝试了以下 - 插件:

但是插件永远不会执行。

0 投票
2 回答
797 浏览

dynamics-crm - 获取 Dynamics CRM 中的所有实体元数据

我想做的是:

  1. 从 CRM 中检索所有元数据。
  2. 序列化该元数据并将其存储在文件中。
  3. 稍后,反序列化该元数据并将其提供给 XrmFakeEasy 以进行单元测试。

第 2 步和第 3 步已完成,但我不知道如何完成第 1 步。我花了一些时间在代码和 Google 上闲逛,但仍然感到困惑。

我们正在使用.Net,所以我需要读取所有实体元数据(类型:Microsoft.Xrm.Sdk.Metadata.EntityMetadata)。

如果有人知道如何做到这一点,或者可以指出 API 的方向(我一直找不到),请告诉我。

PS 此案例适用于本地 crm。