【问题标题】:When do we use Assert.Pass() in DUnitX?我们什么时候在 DUnitX 中使用 Assert.Pass()?
【发布时间】:2017-02-06 16:51:35
【问题描述】:

如果我只是把它放在一个测试方法中,它看起来 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;

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

【问题讨论】:

    标签: delphi dunitx


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-07
      • 2014-12-30
      • 1970-01-01
      • 2015-09-26
      • 1970-01-01
      相关资源
      最近更新 更多