问题标签 [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 回答
512 浏览

delphi - When do we use Assert.Pass() in DUnitX?

It looks to me Assert.Pass("Some Message") does not do anything if I just put it in a test method:

It does not print to the test console... Any scenarios that we use this function?

0 投票
1 回答
264 浏览

delphi - DunitX 和 FinalBuilder

我在 DunitX 中同时进行了 C++ 和 Delphi 测试。我试图让它在 FinalBuilder 中构建。C++ 测试构建良好,但 Delphi 测试有错误:

FinalBuilder 没有 DunitX 动作,但有 Dunit 和 NUnit 动作。对于 C++ 和 Delphi 来说,操作都是 Build。对 FinalBuilder 集成的想法表示赞赏。

IDE:RAD 柏林 10.1

最终建造者:8

0 投票
1 回答
497 浏览

unit-testing - 单元测试 - 如何将带逗号的字符串传递给 DUnitX 中的测试用例

如果我有一个带有字符串参数的单元测试,并且我想检查输入字符串在某处是否有逗号( ,),我应该创建一个带有逗号的输入字符串。

但是如何将它传递给TestCase?

0 投票
1 回答
1604 浏览

unit-testing - Delphi DunitX FMX GUI 记录器

我有一个基于控制台的 DUNITX 单元测试程序,我正在尝试将其转换为 FMX GUI 输出。阅读了此处的 embarcadero 文档后,我通过执行以下操作修改了测试程序文件:

  1. 包括 DUnitX.Loggers.GUIX 单元
  2. 注释掉 DUnitX.Loggers.Console 单元
  3. 注释掉 {$APPTYPE CONSOLE} 指令
  4. 将 Logger 更改为 logger := TGUIXTestRunner.Create(nil);

修改后的清单如下所示:

当我运行它(使用 Tokyo 10.2)时,我收到以下错误:

在此处输入图像描述

我还应该注意,我必须在我的库路径中包含 DUNITX 源的路径,因为它没有找到要编译的 fmx 表单。

我认为我在这里缺少一些东西,任何帮助都将不胜感激,因为文档在这方面有点薄。

谢谢

0 投票
1 回答
186 浏览

dunit - 奇怪的单元版本错误 - DUnitX 取决于 DUnit 还是相反?

我正在使用 Delphi xe4 编译https://github.com/hprose/hprose-delphi/blob/master/Test/HproseTest.dpr

并得到以下错误,我花了几十分钟仍然无法弄清楚原因。

尝试删除所有“DUnitX * .dcu”并再次编译,但没有成功。

让我感到困惑的是,为什么DUnit的 TextTestRunner 单元(先出生)依赖于后来出生的DUnitX的单元?

有什么提示吗?谢谢。

这是我为使问题描述清晰而制作的屏幕截图: 在此处输入图像描述

0 投票
1 回答
258 浏览

delphi - 如何在 DUnitX 中启用 StackTrace?

我有 Delphi Seattle,我使用 DUnitX 作为我的测试框架。我注意到它可能支持堆栈跟踪。但我没有找到关于它的示例或文档。我找到了一个 inc 文件 (DUnitX.Stacktrace.inc),我可以在其中配置我想用作堆栈跟踪提供程序的内容。但是,我不会重新编译它,因为它与 Delphi 一起提供。

现在如何启用它的最佳方法?当我在测试设置等方面出现错误时,我是否也会默认获得堆栈跟踪?

0 投票
1 回答
113 浏览

delphi-10.1-berlin - 将 spring.Nullable 与 DUnitX 一起使用时的内存问题

最近在我的公司,我们尝试使用 DUnitX 来测试我们编写的类。由于这些类反映了数据库中的实体,所有字段都必须接受空值以及特定类型(例如整数或字符串)。

由于 spring4d 已经有了我们尝试使用它们的那些:

执行此代码时,我们得到 AV 异常First chance exception at $00000000. Exception class $C0000005 with message 'access violation at 0x00000000: access of address 0x00000000'. Process Tests.exe (6556)

最终我们将这个问题缩小到System.Rtti单元中的移动过程,TValueDataImpl.ExtractRawDataNoCopy函数:当 Length(FData) 小于或等于 8 时,当 Length(FData) 在System单元 ( FISTP QWORD PTR [EDX+8] {Save Second 8}) 的第 5905 行的 9 到 32 之间时,它工作正常整个调用堆栈消失在旁边两行(我们不确定它是否相关,但它看起来不是好兆头),在到达最顶层的函数(根据调用堆栈)之后,我们得到错误。

“保存第二个 8”之前的调用堆栈

“保存第二个 8”后调用堆栈

是我们的错还是 system/spring/dunitx 单元有问题?我们如何同时使用可空类型和测试?

0 投票
1 回答
84 浏览

c++builder - 在 C++ builder 下安装 DUnitX

如何在 C++ builder 下安装 DUnitX?

我正在使用版本 10.2.3。而且我找不到在我的项目中使用这个测试框架的任何提示。

0 投票
0 回答
282 浏览

android - 适用于 Android 和 IOS 的 Gitlab CI 中的 Delphi Rio DUNITX

我已经设置了一个 gitlab CI 运行程序,它为 Linux、OSX 和 Windows 编译我的 DUNITX 单元测试并在三台机器上运行它们。我不使用 PAClient,而是将编译后的单元测试应用程序上传到机器并在那里运行。这很完美,并且已经对它产生了兴趣,我想将其扩展到我在 Android 和 IOS 上使用的基础类。在这里,我遇到了几个障碍:

  1. 尽管我阅读了很多关于至少在 Android 上使用 DUNITX 的信息,但 DUNITX 并不针对这些平台进行编译。也许我错过了什么?在 Android 上,它抱怨“DUnitx.Linux.Console.pas”未找到,尽管该文件存在并且在路径中。
  2. 如何将编译好的包上传/传输到 IOS 和 Android。在 Android 世界中,ADB 应该使这成为可能,但我不知道如何在 IOS 中做到这一点。

非常感谢任何帮助。谢谢!

0 投票
1 回答
116 浏览

delphi - 如何在 TeamCity 上显示 DUnitX 结果

我一直在尝试在我的 TeamCity 实例中摆弄,以尝试在每个构建结束时显示一个测试选项卡。我当前的构建配置如下:

  • [Powershell] 设置delphi应用程序版本
  • [命令行] 构建应用程序 dproj
  • [命令行] 构建 dunitx-test dproj && 运行 dunitx 可执行文件
  • [Powershell] Zip 内容 -> 创建 nuget 包
  • [八达通] 发布
  • 发布到 TeamCity dunitx-results.xml

通读DUnitX文档,他们声明输出与 NUnit 兼容。所以我要做的是在构建过程结束时,TeamCity 在自己的选项卡上显示我的测试结果。类似于在使用 NUnit 或 MSTest 构建 Visual Studio 之后如何公开 NUnit 测试结果。

有谁知道我怎么能做到这一点,或者得到类似的输出?