问题标签 [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 投票
2 回答
1139 浏览

delphi - Midas/DataSnap 项目中的 DUnit 测试

如何在 Delphi 2006 的 Midas/DataSnap 项目中设置 DUnit 测试

编辑

如何将 Dunit 测试设置到 TRemoteDataModule Delphi 2006 中的项目向导不适用于 TRemoteDataModule

0 投票
7 回答
4307 浏览

delphi - 如何使用 DUnit 测试私有方法?

我有一门课,我正在用 DUnit 对它进行单元测试。它有许多方法一些公共方法和私有方法。

为了为此类编写单元测试,我必须公开所有方法。

是否有不同的方法来声明私有方法,以便我仍然可以测试它们但它们不是公共的?

0 投票
5 回答
1609 浏览

delphi - 当 TSQLConnection.Connected = true 时如何使 Delphi DUnit 测试失败

使用 Delphi IDE 时,在各种属性中填充字段或表列表时,它会默默地将 SQLConnection.Connected 更改为“true”。

因为我不想使用 Connected = true 发布,所以当 TSQLConnection.Connected 在 dfm 中为真时,我需要我的 dunit 测试失败。

0 投票
3 回答
1529 浏览

delphi - 单元测试 Delphi 数据模块

如果所有业务逻辑都存在于数据模块(TSQLDataSets 和 TDataSetProviders)中,您将如何重构代码以使应用程序更适合单元测试?

0 投票
4 回答
1777 浏览

delphi - 将 DUnit CheckEquals 中的问题与货币字段值进行比较

我正在比较 DUnit 中的一些货币值,但它在我的机器上根本不起作用(在其他机器上工作,但在我的机器上不起作用)。

一个例子:

提高:

如果执行以下操作,则比较有效:

问题是:为什么当我将值直接传递给 CheckEquals 方法时比较不起作用?

0 投票
6 回答
5573 浏览

delphi - 在 Delphi 中测量代码覆盖率

有没有办法用 DUnit 测量代码覆盖率?或者有没有免费的工具可以做到这一点?你有什么用?你通常追求什么代码覆盖率?

Jim McKeeth:感谢您的详细回答。我说的是 TDD 方法意义上的单元测试,而不仅仅是发生故障后的单元测试。我对通过一些基本的预写单元测试可以实现的代码覆盖率感兴趣。

0 投票
1 回答
2046 浏览

delphi - 如何在 DUnit 中使用 FastMM 启用内存泄漏跟踪?

在 GUI 测试运行器中,用于内存泄漏检查的菜单项处于非活动状态(灰显)。是否有一个我还没有找到的特殊开关来激活它们?

使用 DUnit 9.4(来自 Delphi 2009 或来自 sourceforge Subversion 存储库)和 FastMM4.92

0 投票
2 回答
1517 浏览

delphi - 数据驱动的 DUnit 测试

DUnit 通常的工作方式是编写一些已发布的方法,然后 DUnit 将它们作为测试运行。我想做的有点不同。我想在运行时根据数据创建测试。我正在尝试测试一个处理输入文件以创建输出文件的特定模块。我有一组带有相应已知良好输出文件的测试输入文件。这个想法是动态创建测试,每个输入文件一个,处理输入并根据已知的好文件检查输出。

然而,这里的实际数据来源并不重要。困难在于使 DUnit 以数据驱动的方式运行。为了这个问题,假设数据源只是一个随机数生成器。这是一个触及困难核心的具体问题示例:

在运行时创建一些测试对象(TTestCase 或其他),比如 10 个,其中每个

  1. 在运行时从随机生成的整数中命名。(“名称”是指出现在测试运行器树中的测试名称。)
  2. 通过或失败基于随机整数。偶数通过,奇数失败。

从 DUnit 的设计来看,它的设计似乎考虑到了足够的灵活性以使这些事情成为可能。我不确定是不是这样。我尝试通过从 TAbstractTest 和 ITest 继承来创建自己的测试类,但无法访问一些关键方法。我也尝试从 TTestCase 继承,但该类与运行已发布方法的想法密切相关(并且测试以方法命名,所以我不能只使用一个名为“go”的类,因为那时我所有的测试都将被称为“go”,我希望我的所有测试都单独命名)。

或者,是否有一些替代 DUnit 可以做我想做的事情?

0 投票
5 回答
1013 浏览

delphi - 如何开始对新旧代码进行单元测试?

我承认我几乎没有单元测试的经验。不久前我尝试过使用 DUnit,但由于我的应用程序中的类之间存在太多依赖关系而放弃了。这是一个相当大的(大约 150 万行源代码)Delphi 应用程序,我们是一个维护它的团队。

目前的测试是由一个在发布前使用它并报告错误的人完成的。我还在 TestComplete 6 中设置了一些 GUI 测试,但由于应用程序的更改,它经常失败。

Delphi 的 Bold 用作针对数据库的持久性框架。我们都同意单元测试是要走的路,我们计划用 ECO 作为持久性框架在 DotNet 中编写一个新的应用程序。

我只是不知道从哪里开始进行单元测试...有什么好书、URL、最佳实践等吗?

0 投票
5 回答
574 浏览

delphi - How can I test a Singleton class with DUnit?

Or it's better to use another Design Pattern?