Unit testing 单元测试框架中setupTestcase的设置原因代码[AX 2012]
我正在对话框表单中使用原因码条目 为了编写上述单元测试,我需要首先通过Dynamics AX 2012中UnitTestFramework中setUpTestCase中的代码动态插入reasonCodes 我该怎么做?我还没有在internet上找到任何帮助。您在测试类上尝试过setUp()和tearDown()方法吗 您可以在测试类执行之前创建数据,并在测试结束时删除数据。自学答案 为了使用UnitTestFramework编写单元测试,您需要创建一个扩展SysTestCase类(系统类)的类 setUp()、setUpTestCase()、tearDown()、tearDownTestCase()是基类函数,用于在测试过程中设置和销毁数据,以便测试用例。Unit testing 单元测试框架中setupTestcase的设置原因代码[AX 2012],unit-testing,axapta,x++,dynamics-ax-2012,Unit Testing,Axapta,X++,Dynamics Ax 2012,我正在对话框表单中使用原因码条目 为了编写上述单元测试,我需要首先通过Dynamics AX 2012中UnitTestFramework中setUpTestCase中的代码动态插入reasonCodes 我该怎么做?我还没有在internet上找到任何帮助。您在测试类上尝试过setUp()和tearDown()方法吗 您可以在测试类执行之前创建数据,并在测试结束时删除数据。自学答案 为了使用UnitTestFramework编写单元测试,您需要创建一个扩展SysTestCase类(系统类)的
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();
}
对于测试用例类中的每个测试函数,分别在开始和结束时调用setUp()和tearDown()方法。
注意,setUp()、tearDown()对于每个测试函数运行一次,而setUpTestCase()、tearDownTestCase()对于单元测试在开始和结束时仅运行一次。
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;
以下是执行此操作所需的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()函数,并将原因插入数据库。
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();
}
就这些。希望它能在某个时候帮助某人
要快乐
~Shakir Shabbir
是的,我知道这些方法。但我想知道,我们如何在资产的推理表中插入理由。