Dynamics AX 2012附带单元测试支持.
要进行有意义的测试,需要提供一些测试数据(存储在数据库中的表中).
为了获得单元测试的可重现结果,我们需要在每次运行测试时将相同的数据存储在表中.现在的问题是,我们怎样才能做到这一点?
我了解到有可能将TestSuite的隔离级别设置为SysTestSuiteCompanyIsolateClass.这将创建一个空公司,并在测试运行后删除公司.在setup()方法中,我可以使用insert语句将我的testdata填充到表中.这适用于小场景,但如果你有一个真实的项目,它会很快变得很麻烦.
我想知道是否有任何人在实际场景中如何使用X ++单元测试框架的实用解决方案.任何输入都非常感谢.
unit-testing x++ axapta dynamics-ax-2012 dynamics-ax-2012-r3
我正在开发AX 2009安装.工作是更新WMSOrderTrans表.这是我到目前为止所得到的:
WMSOrderTrans wmsOrderTrans;
;
while select wmsOrderTrans
{
if (wmsOrderTrans.BBBpackingSlipExists())
{
ttsBegin;
wmsOrderTrans.selectForUpdate(true);
wmsOrderTrans.BBBPackingSlipExists = NoYes::Yes;
wmsOrderTrans.doUpdate();
ttsCommit;
}
}
Run Code Online (Sandbox Code Playgroud)
这项工作大约需要一个小时才能完成测试系统.这让我担心生产系统的性能.
目前,代码已经被编写为具有最小的锁定问题(如果应该更新并且然后立即提交,则为每一行执行selectForUpdate).原因是,当作业运行时,用户将在系统上工作.
我的问题是,如果有一种合理的方式以较少的交易开销实现这项工作.
while select forUpdate ...
Run Code Online (Sandbox Code Playgroud)
...似乎不是一个选项,因为它会锁定表,直到作业完成.
任何输入都表示赞赏.
这是BBBPackingSlipExists方法的代码:
display boolean BBBpackingSlipExists()
{
InventDim inventDimCur;
InventDim inventDimPackSlip;
InventTrans inventTransPackSlip;
;
select firstonly RecId from inventTransPackSlip
where inventTransPackSlip.InventTransId == this.inventTransId
&& (inventTransPackSlip.StatusIssue == StatusIssue::Deducted
|| inventTransPackSlip.StatusIssue == StatusIssue::Sold)
&& !inventTransPackSlip.PackingSlipReturned
exists join inventDimCur
where inventDimCur.inventDimId == this.inventDimId
exists join inventDimPackSlip
where inventDimPackSlip.inventDimId == inventTransPackSlip.inventDimId
&& inventDimCur.inventSerialId …Run Code Online (Sandbox Code Playgroud) 我需要从存储在MSSQL数据库中的单个表中提取数据.然后将数据存储在AX中的临时表中,根据业务逻辑处理该表.
绩效是该项目的关键因素.
现在我正在研究用X ++代码从MSSQL数据库中检索数据的可能性,并在以下博客中找到:
基本上有不同的方法可以用于这项努力:
现在我希望有人可以提供哪些是可取的以及为什么(特别是在性能方面)的输入.
任何输入都表示赞赏.
我的任务是从AX 2009中删除所有物料清单(BOM)中的特定物品.
据我所知,该BOMTable表包含标题,BOM表中包含行.他们通过连接BOMId.
该BOM表保存一个字段ItemId这是InventTable.ItemId.
假设是正确的,从BOM表中删除所有行是否足够BOM.ItemId == InventTable.ItemId?还有什么需要考虑的吗?
任何帮助表示赞赏
我想知道在AX 2009下进行自定义的正确部署工作流程是什么.对于AX 2012,我找到了一个很好的白皮书,在Microsoft Dynamics AX 2012环境中部署自定义.
但这并没有多大帮助,因为AX 2009没有模型商店部署的概念(除非我弄错了).
XPO是采用AX 2009的方式吗?如果有人能指出我正确的方向,这将是伟大的.