如何使用DUnitX测试异步代码?

时间:2020-04-27 15:20:40

标签: delphi delphi-10.3-rio dunitx

这很关键:如何在DUnitX中测试我的程序(使用TTask)?


我有一些看起来像这样的代码:

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在内部运行执行HTTP操作的TTask.Run(...)。完成HTTP客户端(TIdHTTP)后,将通过以下方式触发回调:

TThread.Queue(nil, procedure begin SuccessCallback; end);

或者有例外情况:

TThread.Queue(nil, procedure begin ErrorCallback('Something went wrong'); end);

如何告诉DUnitX等待异步请求?

注意:回调不返回任何内容,它们都是过程。有什么办法吗?

0 个答案:

没有答案
相关问题