Inhaltsverzeichnis
Frageninhalt
Problemumgehung
Heim Java So erstellen Sie Funktionstests für IntegrationFlows

So erstellen Sie Funktionstests für IntegrationFlows

Feb 08, 2024 pm 09:11 PM

PHP-Editor Xinyi stellt Ihnen vor, wie Sie Funktionstests für IntegrationFlows erstellen. IntegrationFlows ist eine wichtige Komponente im Spring Integration Framework, die zum Definieren und Verwalten der Logik des Nachrichtenflusses verwendet wird. Funktionstests sind eine der wichtigsten Verbindungen, um den korrekten Betrieb von IntegrationFlows sicherzustellen. In diesem Artikel stellen wir die Schritte und Überlegungen zum Erstellen von Funktionstests für IntegrationFlows vor, um Entwicklern dabei zu helfen, Integrationstests besser durchzuführen.

Frageninhalt

Ich habe ein standardintegrationflow, das jeden Tag ausgeführt wird und Dateien löscht, die älter als 10 Tage sind.

@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();
  }
Nach dem Login kopieren

Ich möchte einen Funktionstest erstellen, um zu überprüfen, ob es funktioniert. Ich habe den Code manuell getestet und den Cron-Ausdruck so eingestellt, dass er alle 2 Minuten ausgeführt wird und Dateien löscht, die älter als 5 Minuten sind, aber ich brauche natürlich einige automatisierte Tests.

Ich habe darüber nachgedacht, zwei Dateien zu erstellen, eine davon ist älter als 10 Tage und die andere nicht. Holen Sie sich beide Dateien und überprüfen Sie, ob sie vorhanden sind. Verwenden Sie dann das Objekt von sourcepollingchanneladapter, um sourcepollingchanneladapter 的对象手动触发 standardintegrationflow 并调用 .start() manuell auszulösen und die Funktion .start() aufzurufen. Versuchen Sie dann erneut, es abzurufen, und überprüfen Sie, ob es gelöscht wurde.

Die erste Frage ist, ob dies der richtige Weg ist, Integrationflow zu testen. Außerdem finde ich keine einfache Möglichkeit, eine Datei zu erstellen und deren Änderungszeit in einem Test zu ändern.

Ich verwende Spring-Integration 5.5.15 und das Spock-Framework zum Testen. Verwenden Sie auch den Minio-Container, um Dateien für Funktionstests auf dem Server zu speichern

Problemumgehung

Sie können PollerSpec 作为 bean 并从 oldReceiptsCleaner 流定义中引用它。然后您在测试配置中覆盖该 bean。然后你就有了 LastModifiedFileListFilter ,它可以基于 age einige Eigenschaften und die erforderlichen Werte im Test angeben.

Ich kenne Minio nicht, aber es gibt möglicherweise eine API, wie man die Datei mit dem erforderlichen lastModified erstellt.

Dann ja. Sie können @SpringIntegrationTestnoAutoStartup 一起使用作为 Sftp.inboundStreamingAdapter 的 bean 名称。创建文件后,您可以在测试方法中手动启动SourcePollingChannelAdapter hinzufügen.

Das obige ist der detaillierte Inhalt vonSo erstellen Sie Funktionstests für IntegrationFlows. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)