delphi - 我们什么时候在 DUnitX 中使用 Assert.Pass() ?

标签 delphi dunitx

在我看来,如果我只是将其放入测试方法中,Assert.Pass("Some Message") 不会执行任何操作:

procedure TRPMTestObject.TestPlatform;
begin
{$IFDEF WIN64}
  Assert.AreEqual(8, SizeOf(Pointer));
  Assert.Pass('WIN64 Defined');
{$ENDIF}
{$IFDEF WIN32}
  Assert.AreEqual(4, SizeOf(Pointer));
  Assert.Pass('WIN32 Defined');
{$ENDIF}
end;

它不会打印到测试控制台...我们使用此功能的任何场景?

最佳答案

通常在测试中您想要断言某些内容具有预期值。然而有时你只是想确保某些东西不会爆炸(即没有引发异常)。

由于 DUnit 或 DUnitX 等框架可以检测空测试(未执行任何断言的测试),因此您需要告诉框架测试不为空(不过您可以执行虚拟断言)。这通常是在您使用 Assert.Pass 时发生的情况。它还允许您提前离开测试(如果有任何情况的话)。

因此,在您调用 Assert.AreEqual 的情况下,您不需要 Assert.Pass

关于delphi - 我们什么时候在 DUnitX 中使用 Assert.Pass() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42073078/

相关文章:

delphi - Delphi中模拟多媒体按键

delphi - Indy 9 与 Lazarus/Free Pascal 兼容吗

delphi - nVidia nView 桌面管理器和 Delphi 应用程序有问题吗?

delphi - 如何正确实现TBitmap的扫描线访问?

delphi - 固定枚举未返回 RTTI 属性 : is it a bug?

delphi - 确定 DUnitX 中测试的顺序?

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

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