我在对话框表单中使用原因代码条目。
为了编写上述的单元测试,我需要首先通过 Dynamics AX 2012 中 UnitTestFramework 中的 setUpTestCase 中的代码动态插入 reasonCodes。
我怎样才能做到这一点?我还没有在互联网上找到任何帮助。
我在对话框表单中使用原因代码条目。
为了编写上述的单元测试,我需要首先通过 Dynamics AX 2012 中 UnitTestFramework 中的 setUpTestCase 中的代码动态插入 reasonCodes。
我怎样才能做到这一点?我还没有在互联网上找到任何帮助。
自学答案。
为了使用 UnitTestFramework 编写单元测试,您创建一个扩展 SysTestCase 类(系统类)的类。
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() 函数并将原因插入到数据库中。
就这样。希望它在某个时间点对某人有所帮助。
要开心。
~夏基尔·沙比尔
您是否在测试类上尝试过 setUp() 和 tearDown() 方法?
http://msdn.microsoft.com/EN-US/library/bb496539.aspx
您可以在测试类执行之前创建数据并在测试结束时将其删除。