php エディタ Xinyi では、IntegrationFlows の機能テストを作成する方法を紹介します。 IntegrationFlows は Spring Integration フレームワークの重要なコンポーネントであり、メッセージ フローのロジックを定義および管理するために使用されます。機能テストは、IntegrationFlows が正しく動作することを確認するための重要なリンクの 1 つです。この記事では、開発者が統合テスト作業をより適切に実行できるように、IntegrationFlows の機能テストを作成する手順と考慮事項を紹介します。
毎日実行され、10 日より古いファイルを削除する standardintegrationflow
があります。
機能テストを作成して、機能することを確認したいと考えています。コードを手動でテストし、cron 式を 2 分ごとに実行し、5 分より古いファイルを削除するように設定しましたが、もちろん自動テストが必要です。
2 つのファイルを作成することを考えました。1 つは 10 日より古いもので、もう 1 つはそうではありません。両方のファイルを取得し、それらが存在することを確認します。次に、sourcepollingchanneladapter
のオブジェクトを使用して、standardintegrationflow
を手動でトリガーし、.start()
関数を呼び出します。その後、再度取得を試みて、取得されたことを確認します。削除されました。
最初の質問は、これが統合フローをテストする正しい方法であるかどうかです。また、ファイルを作成してテストでその変更時刻を変更する簡単な方法が見つかりません。
私はテストに spring-integration 5.5.15 と spock フレームワークを使用しています。また、minio コンテナーを使用して、機能テスト用にサーバーにファイルを保存します。
PollerSpec
を oldReceiptsCleaner
からの Bean およびストリーム定義として使用できます。これを引用します。で。次に、テスト構成で Bean をオーバーライドします。次に、LastModifiedFileListFilter
を作成します。これは、age
のいくつかのプロパティに基づいて、テストで必要な値を指定できます。
Minio については詳しくありませんが、必要な lastModified
を含むファイルを作成する API があるかもしれません。
じゃあ、そうです。 @SpringIntegrationTest
を noAutoStartup
とともに Sftp.inboundStreamingAdapter
の Bean 名として使用できます。ファイルを作成した後、テスト メソッドで SourcePollingChannelAdapter
を手動で開始できます。
以上がIntegrationFlows の機能テストを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。