Library1前書き非同期システムに関する一般的な問題は、ビジネスロジックに焦点を当てており、同期、タイムアウト、および同時実行制御に汚染されていない、読み取り可能なテストを書くのが難しいということです。Awaitilityを使用すると、システムからの期待を読みやすいDSLで表現できます。2依存関係__pom.xmlにAwaitilityの依存関係を追加する必要があります。ライブラリで十分です。ライブラリも提供する必要があります。最新バージョンを見つけることができます。Centralのライブラリ。簡単な非同期サービスを書いてテストしましょう。よるテストそれでは、テストクラスを作成しましょう。メソッドを呼び出した後、私たちのサービスの初期化が指定されたタイムアウト期間(デフォルト10秒)以内に起こるかどうかチェックします。このテストケースは単にサービスの初期化状態が変化するのを待つか、または状態の変化が起こらない場合は__ConditionTimeoutExceptionをスローします。よって取得され、指定された初期遅延(デフォルト100ms)の後、定義された間隔(100msデフォルト)でサービスにポーリングします。ここでは、タイムアウト、間隔、および遅延のデフォルト設定を使用しています。クラスの静的メソッドの1つを使用します。クラスのインスタンスを返します。ような他の方法を使うこともできます。クラスの静的メソッドを使用して変更できます。クラスの使用方法を見ることができます。カスタムタイミング値を提供することもできます。ここでは、初期化が最大で5秒後、少なくとも100ms後にポーリング間隔100msで行われると予想します。givenなどの追加のメソッドが含まれていることを言及する価値があります。this__を返しますが、テスト条件の読みやすさを向上させるのに役立ちます。matcherの使用も可能にします。値が予想どおりに変更されていることを確認できます。呼び出しを使用して、サービスが初期化されるまで待機しています。例外を無視する場合によっては、非同期ジョブが完了する前にメソッドが例外をスローする状況があります。メソッドを呼び出すことができます。待機はテストに失敗することなくこの例外を無視する可能性を提供します。結果が初期化直後にゼロに等しいことを確認しましょう。含める必要があります。λ式を実装せずに、条件に対する実際のメソッド呼び出しを提供することです。静的メソッドを使用します。equalTo(true));8フィールドへのアクセス待機はプライベートフィールドにアクセスしてアサーションを実行することもできます。次の例では、サービスの初期化ステータスを取得するための別の方法を見ることができます。equalTo(true));9結論このクイックチュートリアルでは、Awaitilityライブラリを紹介し、非同期システムをテストするための基本的なDSLについて理解し、実際のプロジェクトでライブラリを柔軟かつ使いやすくする高度な機能について説明しました。Github]から入手できます。