问题标签 [dunitx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
783 浏览

unit-testing - 我可以将类型参数传递给 DUnitx 中的测试用例吗?

我正在为我的 FastCode 项目编写测试用例。

我写了一个这样的通用测试器:

一个典型的测试用例如下所示:

测试代码通常如下(对每种类型重复):

我想做的事:

并针对所述类型进行测试运行,这样我就不必编写太多样板文件。
这样的事情可以在 DUnitX 中完成吗?

0 投票
2 回答
688 浏览

unit-testing - 动态创建测试列表

我在 Delphi 中使用 DUnitX,但我被卡住了。如何动态创建测试列表?

例如,我有 sql 列表,需要像测试它们一样

对于一种方法,这很简单

执行

但是如果我需要测试列表,那么属性是不够的。 RepeatTest属性也不足,因为如果其中一项测试失败,则整个测试将停止,但我需要运行所有 sql

任何建议

编辑1

在 DUnit(没有 X)中,这可能是这样的

DUnitX 中的等价物是什么?

0 投票
2 回答
1889 浏览

unit-testing - 我可以将一组传递给 DUnitX 中的测试用例吗?

我试图在运行测试后检查对象的状态。此状态包含在一个集合中。是否可以使用 DUnitX 属性将预期状态传递给测试用例,以便我可以对所有不同的输入使用相同的测试?

我试图将集合作为常量或集合传递,但在我的测试例程中,它总是作为空集到达。

  • 这完全可以使用属性吗?
  • 如果集合相同,您将如何测试?

示例代码:

我还尝试将预期结果定义为数组,但 DUnitX 甚至不再调用测试。可能这只是“太多”

到目前为止,我能想到的最好的方法是使用以下方法。抽取最多三个(在此处插入您最喜欢的整数......)预期状态的样本并分别检查这些状态。这不是我真正希望的,但它确实起到了作用。

非常感谢您的帮助。:)

0 投票
1 回答
522 浏览

unit-testing - Delphi 单元测试:为 CUT 编写一个简单的 spy

我正在寻找一种方法来轻松简洁地为 Delphi 下的DUnitX 测试框架编写一个间谍。

在过去,我使用了非常丑陋的方法来使用:

所有这些代码都用于检查是否调用了过程。太啰嗦了!

有没有办法编写一个可以帮助我减少代码的间谍?

0 投票
1 回答
521 浏览

unit-testing - DUnitX 从字符串到整数数组的转换

我的问题与类似,但我想传递一个整数数组,而不是一个集合。

每个例子:

修改 DUnitX.Utils 似乎是最干净的方法,但我不确定如何进行转换。我的主要问题是,它怎么知道我需要一个整数数组?PTypeInfo 中有什么我可以利用的东西吗?

0 投票
1 回答
348 浏览

unit-testing - 我可以为 dunitx 命名空间中的所有设备创建一个通用设置例程吗?

是否可以在 dunitx 中使用命名空间,使命名空间下的所有测试装置都包含在一对设置/拆卸例程中?(类似于 nunit 中的 SetupFixture 属性,http: //www.nunit.org/index.php?p=setupFixture&r=2.5.5 )。

我尝试使用以下单位名称/命名空间:

  • TMyFixtureInitializer 类的 Tests.MyFixture.pas 以及常用的 setup 和 teardown 方法

  • Tests.MyFixture.MyTestUnit1.pas 和 Tests.MyFixture.MyTestUnit2.pas 用于实际的测试类。

我遇到了以下问题:

  • 当类本身不包含任何测试例程时,不会执行 TMyFixtureInitializer.SetupFixture 和 TeardownFixture。

  • 在 TMyFixtureInitializer 中添加虚拟测试后,将调用 SetupFixture 和 TeardownFixture 例程,但Tests.MyFixture.MyTestUnit1 和 Tests.MyFixture.MyTestUnit2 中的测试之后。

  • 当我在构造函数上设置 SetupFixture 属性,在 TMyFixtureInitializer 的析构函数上设置 TeardownFixture 属性时,它们在所有测试之前和之后执行,完全忽略了命名空间。

测试.MyFixture.pas:

Tests.MyFixture.MyTestUnit1.pas:

(Tests.MyFixture.MyTestUnit2.pas 的来源是类似的)。

有没有人有一个如何使用命名空间来组织初始化和清理的例子?

0 投票
3 回答
368 浏览

c++builder - 在 Rad Studio 的 DUnitX 中未调用 SetUp

我已经用 C++ 为 Rad Studio Berlin 构建了 DUnitX 示例。该代码是以下内容的副本:http ://docwiki.embarcadero.com/RADStudio/Seattle/en/DUnitX_Overview

标题是:

调用 TestAdd 和 TestSub 是因为它们在 __published 下,但从不调用 SetUp 和 TearDown。我知道每次测试都应该打电话给他们。看到 Delphi 代码,我可以看到 [Setup] 属性,但似乎对于 C++ 是没有必要的。我错过了什么吗?

0 投票
2 回答
1333 浏览

delphi - 如何登录 DUnitX?

使用 Rad Studio 10 Seattle、DUnitX 和 TestInsight,我需要在控制台或任何日志屏幕中显示一些文本。怎么做到呢?我一直无法在网上找到它。

0 投票
1 回答
278 浏览

delphi - Delphi DUnitX 两次测试表单的创建

我用 DUnitX 创建了一个 TestCase,它自动生成了一些代码,我对如何构建测试用例感到困惑。

(自动生成的)代码如下所示:

但是,TBtnMgmtForm.Create会自动调用.FormCreate。以某种方式将这两者分开是一种好习惯吗?和有什么区别或应该有什么区别?.Create.FormCreate

0 投票
1 回答
571 浏览

delphi - DUnitX 不能在 64 位下工作?

如果我选择“32 位 Windows”,DUnitX 可以工作,但是,当我将其更改为“64 位 Windows”时,它说

这是预期的吗?

我正在使用 RAD Studio 10.1 Berlin Update 2 (Delphi)

在此处输入图像描述