Когда мы используем Assert.Pass() в 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;
Он не печатает на тестовой консоли... Какие сценарии, что мы используем эту функцию?
1 ответ
Обычно в тесте вы хотите утверждать, что что-то имеет ожидаемое значение. Однако иногда вы просто хотите убедиться, что что-то не взорвалось (т.е. не было исключений).
Поскольку фреймворки, такие как DUnit или DUnitX, имеют обнаружение пустых тестов (тестов, которые не делали никаких утверждений), вам нужно сообщить платформе, что тест не пустой (хотя вы можете сделать фиктивное утверждение). Это обычно, когда вы используете Assert.Pass. Это также позволяет вам покинуть тест пораньше (если для этого есть основания).
Так что в вашем случае, когда вы называете Assert.AreEqual
вам не нужно Assert.Pass
,