问题标签 [dunit]

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 投票
5 回答
1224 浏览

delphi - 使用 Delphi IDE 中的 DUnit 并避免异常断点

我正在使用 Delphi XE,并且我有一个包含主应用程序和 DUnit 测试应用程序的项目组。有时,我会去 DUnit 测试应用程序添加一些测试并运行现有的测试。

一些测试代码会生成由应用程序处理的异常,但会由 Delphi 调试器多次显示,因为我习惯于F9像使用标准应用程序一样使用快捷方式运行测试应用程序:在这种情况下,这不是很方便。

我知道无需调试即可运行的SHIFT++快捷方式,当我记得使用它时这很好,但我经常发现自己点击,然后发出咕噜声,然后关闭测试应用程序,然后点击CTRL++ 。多么浪费时间。F9F9SHIFTCTRLF9

所以我的问题是:有更好的方法吗?我可以定义一些设置或使用一些专家来使该特定应用程序默认运行而无需调试吗?当然,我不是唯一一个遇到这个问题的人。

提前致谢。

0 投票
1 回答
699 浏览

delphi - Dunit 控制台模式 - 执行两次测试

我有一个 dunit 测试项目,我正在尝试在控制台模式下运行它。当我执行项目时,它运行了两次(它只打开一个控制台窗口,我看到它执行了两次测试),而且它的执行时间也比我在 GUI 模式下运行它时要多得多。有谁知道如何只运行一次 dunit 控制台测试?

DPR源代码:

0 投票
1 回答
2458 浏览

windows - DUnit 比较两个文本文件并显示差异

有没有办法比较两个文本文件并在 dunit 中不相同时显示差异?

简单的开始是将它们读取到 TStringList,但是比较两个文本文件的代码要复杂得多,而 DUnitGui 中的 gui 不足以完成此操作。

任何的想法?建议?

0 投票
1 回答
181 浏览

delphi - 如何在 TGUITestRunner 中“折叠所有”节点?

DUnit 提供了一个上下文菜单项“全部展开”和“隐藏测试节点”。然而,在我的测试项目中,选择后一个选项仍然会打开很多测试套件层次结构节点。只有最后一层的测试节点是隐藏的。是否有一个密钥可以折叠所有节点,或者除了最高级别之外的所有节点?

0 投票
3 回答
1642 浏览

delphi - 如何确定接口的实现对象的类型

我正在尝试为一个简单的工厂类编写一个单元测试,该类创建几个可能的实现对象之一并将其作为接口引用返回。

DUnit 有一个内置过程 ,CheckIs(AObject: TObject; AClass: TClass; msg: string)如果对象的类类型与预期的不匹配,则基于它的名称和它接受的参数应该无法通过测试。唯一的问题是它需要对象引用而不是接口引用。

因此,我尝试CheckTrue在测试主体中使用和执行比较,但我对 Delphi 的类型检查支持不像 C# 那样熟悉。

我知道is运算符是不可能的,因为它只适用于对象引用。

有什么建议么?

顺便说一句,我使用的是 Delphi 2009,所以我无法访问 2010+ 中添加的新 RTTI 支持。

0 投票
2 回答
799 浏览

delphi - 在 Delphi 2010 上更新 DUnit

有谁知道如何将 Delphi 2010 附带的 dUnit 更新为最新的 svn 源代码?

0 投票
3 回答
1663 浏览

delphi - 我如何测试函数和过程,因为它们不属于 Delphi 中的类?

我在一个名为Utils.pas.

现在我想重构其中的一些,但我认为最好先编写测试。对于 DUnit,我认为没有课程是不可能的。

所以我想知道在重构之前如何测试它们?

编辑:

我认为这是不可能的,因为我试图使用测试用例向导在 Delphi 中添加一个测试用例。看下图,没有任何类和方法,所以我无法创建它。

在此处输入图像描述

0 投票
2 回答
286 浏览

delphi - 我可以从 DUnit GUITestrunner 中的代码调用 ToolsAPI 吗?

有没有办法在 ToolSAPI 单元中初始化全局变量 BorlandIDEServices 以便可以从 DUnit GUITestrunner 代码中使用它?

在本例中,Project 变量将为 nil,因为 BorlandIDEServices 变量未初始化。GUITestrunner 在 IDE 中以调试模式运行。

0 投票
2 回答
1398 浏览

delphi - 如何在 delphi 单元测试中使用可视化组件?

有时在可视化应用程序中很常见,我有一些代码将数据保存在可视化组件(TTreeView 组件)中。我正在重构代码并为逻辑创建单元测试。

我的测试项目中唯一的可视形式是 GUITestRunner。将来我计划在持续集成服务器下将测试作为控制台应用程序运行,所以我不会有任何形式。

当我尝试创建没有父级的 TTreeView 小部件并使用它时,我收到以下错误:

在我的测试套件 SetUp 方法上创建小部件并在 TearDown 中销毁它的最佳方法是什么?是否可以在控制台应用程序中使用可视小部件?我不需要显示它,甚至不需要处理事件。我只需要创建子节点并访问数据。

我设法使它与一个丑陋的黑客一起工作,但我想知道是否有一些标准做法。

当然,在我阳光明媚且遥远的未来,我会重构这个 21000 行表格的代码,我所有的数据都将在漂亮的数据结构中,这些测试将不是必需的,但现在我需要它。

0 投票
1 回答
226 浏览

delphi - 单元测试附带哪些 Delphi 组件?

鉴于单元测试的流行,以及 DUnit 与 Delphi 的结合,是否有任何组件供应商已经发布了他们的源代码以及一套单元测试?

我正在寻找与其他开发人员分享的示例。