我在对话框表单中使用原因代码条目。
为了编写上面的单元Test,我需要首先通过Dynamics AX 2012中UnitTestFramework中setUpTestCase中的代码动态插入reasonCodes。
我该怎么做?我在网上找到了任何帮助。
答案 0 :(得分:1)
您是否尝试过测试类的setUp()和tearDown()方法?
http://msdn.microsoft.com/EN-US/library/bb496539.aspx
您可以在测试类执行之前创建数据,并在测试结束时将其删除。
答案 1 :(得分:1)
自我学会了答案。
为了使用UnitTestFramework编写单元测试,您创建了一个扩展SysTestCase类(System类)的类。
setUp(),setUpTestCase(),tearDown(),tearDownTestCase()是基类函数,用于在测试用例期间有意设置和销毁数据。
setUp()& tearDown()方法在开始时调用&分别为测试用例类中的每个测试函数结束。 注意,setUp(),tearDown()为每个测试函数运行一次,而setUpTestCase(),tearDownTestCase()只运行一次,分别用于开始和结束时的单元测试。
回到我的要求,
我不得不setup reason codes
和编写测试用例的原因评论。
以下是执行此操作所需的X ++代码。
private void createReason(str _reasonCode, str _reasonComment)
{
ReasonTable _reasonTable;
_reasonTable.clear();
_reasonTable.Asset = NoYes::Yes;
_reasonTable.Ledger = NoYes::Yes;
_reasonTable.Reason = _reasonCode;
_reasonTable.Description = _reasonComment;
_reasonTable.doInsert();
}
您可能在测试用例中设置了不同的设置原因。
Example, you might wamt to set
_reasonTable.Asset = NoYes::No;
instead of
_reasonTable.Asset = NoYes::Yes;
在setUpTestCase()中调用createReason()函数,并将原因插入数据库。
这就是全部。希望它能在某个时间点帮助某人。
快乐。
~Shakir Shabbir