Нет выхода журнала при использовании TDUnitX.CurrentRunner.Log - PullRequest
1 голос
/ 29 июня 2019

Я не уверен, как я могу вывести некоторые строки в окно консоли, используя DUnitX, поэтому вот моя попытка:

unit Unit1;

interface
uses
  DUnitX.TestFramework;

type
  [TestFixture]
  TMyTestObject = class(TObject)
  public
    // Sample Methods
    // Simple single Test
    // Test with TestCase Attribute to supply parameters.
    [Test]
    [TestCase('TestA','1,2,3')]
    [TestCase('TestB','3,4,7')]
    procedure Test1(AValue1, AValue2, _Result : Integer);
  end;

procedure TMyTestObject.Test1(AValue1, AValue2, _Result: Integer);
begin
  TDUnitX.CurrentRunner.Log(TLogLevel.Information, 'Information');
end;

initialization
  TDUnitX.RegisterTestFixture(TMyTestObject);
end.

Ничего не печатается, так как мне написать это?

Ответы [ 2 ]

0 голосов
/ 30 июня 2019

DUnitX определяет помощника класса в TObject с помощью пары методов Log и Status в модуле DUnitX.TestFramework. Всякий раз, когда это устройство находится в вашем списке использования, вы можете вызывать эти методы для любого объекта, например, следующим образом:

uses
  DUnitX.TestFramework;

[...]

procedure TMyTestObject.Test1(AValue1, AValue2, _Result: Integer);
begin
  self.Log(TLogLevel.Information, 'Information');
end;

Синтаксис работает, потому что помощники классов - это способ добавить методы и свойства к уже определенным классам. Определяя помощника класса в TObject, все объекты расширяются.

Помощники классов описаны в Embarcadero Wiki: Помощники классов и записей (Delphi)

0 голосов
/ 29 июня 2019

Я нашел простой способ вывода информации на консоль с помощью system.write().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...