1

我在对话框表单中使用原因代码条目。

为了编写上述的单元测试,我需要首先通过 Dynamics AX 2012 中 UnitTestFramework 中的 setUpTestCase 中的代码动态插入 reasonCodes。

我怎样才能做到这一点?我还没有在互联网上找到任何帮助。

4

2 回答 2

2

自学答案。

为了使用 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() 函数并将原因插入到数据库中。

就这样。希望它在某个时间点对某人有所帮助。

要开心。

~夏基尔·沙比尔

于 2013-05-02T12:52:12.653 回答
1

您是否在测试类上尝试过 setUp() 和 tearDown() 方法?

http://msdn.microsoft.com/EN-US/library/bb496539.aspx

您可以在测试类执行之前创建数据并在测试结束时将其删除。

于 2013-04-29T17:19:49.473 回答