搜尋
首頁Java如何為 IntegrationFlows 建立功能測試

php小編新一將為您介紹如何為 IntegrationFlows 建立功能測試。 IntegrationFlows是Spring Integration框架中的重要元件,用於定義和管理訊息流轉的邏輯。功能測試是確保IntegrationFlows正確運作的關鍵環節之一。在本文中,我們將介紹為IntegrationFlows建立功能測試的步驟和注意事項,以協助開發人員更好地進行整合測試工作。

問題內容

我有一個 standardintegrationflow ,它每天運行並刪除超過 10 天的檔案。

@Bean
  public StandardIntegrationFlow oldReceiptsCleaner(
      @Qualifier("receiptSftpRemoteFileTemplate")
          RecursiveSftpRemoteFileTemplate receiptSftpRemoteFileTemplate,
      RemoteSftpFileRemover remoteSftpFileRemover) {

    return IntegrationFlows.from(
            Sftp.inboundStreamingAdapter(receiptSftpRemoteFileTemplate)
                .remoteDirectory(properties.getSftpPath()),
            e ->
                e.poller(
                    Pollers.cron(properties.getCronExpression())
                        .maxMessagesPerPoll(-1)).id("oldReceiptsCleanerPoller"))
        .handle(remoteSftpFileRemover::removeFile)
        .get();
  }

我想創建一個功能測試來驗證它是否有效。我已經手動測試了程式碼,將 cron 表達式設定為每 2 分鐘運行一次並刪除早於 5 分鐘的文件,但當然我需要一些自動化測試。

我曾想過創建 2 個文件,一個超過 10 天,另一個則不然。取得這兩個檔案並驗證它們是否存在。然後使用 sourcepollingchanneladapter 的物件手動觸發 standardintegrationflow 並呼叫 .start() 函數,然後嘗試再次取得並驗證是否已刪除。

第一個問題是這是否是測試 integrationflow 的正確方法。另外,我找不到一種簡單的方法來在測試中建立文件並更改其修改時間。

我正在使用 spring-integration 5.5.15 和 spock 框架進行測試。也使用minio 容器在伺服器上儲存檔案以進行功能測試

解決方法

您可以將PollerSpec 作為bean 並從oldReceiptsCleaner 串流定義中引用它。然後您在測試配置中覆寫該 bean。然後你就有了 LastModifiedFileListFilter ,它可以基於 age 的某些屬性並在測試中指定所需的值。

我不熟悉Minio,但可能有API如何使用所需的lastModified建立檔案。

那麼是的。您可以將 @SpringIntegrationTestnoAutoStartup 一起使用作為 Sftp.inboundStreamingAdapter 的 bean 名稱。建立檔案後,您可以在測試方法中手動啟動SourcePollingChannelAdapter

以上是如何為 IntegrationFlows 建立功能測試的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:stackoverflow。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中