Это очень прямо в вопросе: как мне проверить мою программу (которая использует TTask
) с DUnitX?
У меня есть код, который выглядит так:
var
FReq: IRequest;
begin
FReq := TGetRequest.Create('127.0.0.1', '80540');
FReq := TGetRequest.ExecuteAsync(
procedure
begin
ShowMessage('success');
end,
procedure(const Err: String)
begin
ShowMessage(Err);
end
);
В основном метод ExecuteAsync
внутренне выполняет TTask.Run(...)
, который выполняет операции HTTP. Когда HTTP-клиент (TIdHTTP) завершен, обратные вызовы запускаются следующим образом:
TThread.Queue(nil, procedure begin SuccessCallback; end);
Или в случае исключений:
TThread.Queue(nil, procedure begin ErrorCallback('Something went wrong'); end);
Как я могу сказать DUnitX ждать асинхронного c запросы?
Примечание : Обратные вызовы ничего не возвращают, они все процедуры. Есть ли способ?