加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

单元测试 – 如何在实际项目中的Microsoft Dynamics AX 2012中进

发布时间:2020-12-13 22:27:42 所属栏目:Windows 来源:网络整理
导读:Dynamics AX 2012附带单元测试支持. 要进行有意义的测试,需要提供一些测试数据(存储在数据库中的表中). 为了获得单元测试的可重现结果,我们需要在每次运行测试时将相同的数据存储在表中.现在的问题是,我们怎样才能做到这一点? 我了解到有可能将TestSuite的
Dynamics AX 2012附带单元测试支持.

要进行有意义的测试,需要提供一些测试数据(存储在数据库中的表中).

为了获得单元测试的可重现结果,我们需要在每次运行测试时将相同的数据存储在表中.现在的问题是,我们怎样才能做到这一点?

我了解到有可能将TestSuite的隔离级别设置为SysTestSuiteCompanyIsolateClass.这将创建一个空公司,并在测试运行后删除公司.在setup()方法中,我可以使用insert语句将我的testdata填充到表中.这适用于小场景,但如果你有一个真实的项目,它会很快变得很麻烦.

我想知道是否有人在现实世界的场景中提供了如何使用X单元测试框架的实用解决方案.任何输入都非常感谢.

解决方法

我同意在一个新的空公司中创建测试数据只适用于您自己实现整个数据结构的相当简单的场景或场景.但是,只要需要现有的数据结构,这种方法就会变得非常耗时.

过去对我来说效果很好的一种方法是在现有公司中运行单元测试,该公司已经拥有运行测试所需的大部分配置数据(例如财务设置,库存设置……).测试本身在ttsBegin – ttsAbort块中运行,因此单元测试实际上不会创建任何数据.

另一种方法是实现与测试无关的数据提供者方法,但创建通常用于单元测试的数据(例如,创建产品的方法).创建一组有用的数据提供程序方法需要一些时间,但一旦存在,编写单元测试就会快得多.请参阅SysTest part V.: Test execution (results,runners and listeners),了解Microsoft如何使用类似的方法(或至少他们曾在2007年用于AX 4.0).

这两种方法也可以组合在一起,您可以在ttsBegin – ttsAbort块中调用数据提供程序方法,仅为单元测试创??建所需的数据.

另一个有用的方法是使用doInsert或doUpdate来创建测试数据,特别是如果您只对几个字段感兴趣而不需要创建完全有效的记录.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读