Jadual Kandungan
Kandungan soalan
Penyelesaian
Rumah Java Cara membuat ujian berfungsi untuk IntegrationFlows

Cara membuat ujian berfungsi untuk IntegrationFlows

Feb 08, 2024 pm 09:11 PM

Editor PHP Xinyi akan memperkenalkan anda cara membuat ujian berfungsi untuk IntegrationFlows. IntegrationFlows ialah komponen penting dalam rangka kerja Integrasi Spring, digunakan untuk mentakrif dan mengurus logik aliran mesej. Ujian fungsional ialah salah satu pautan utama untuk memastikan operasi IntegrationFlows yang betul. Dalam artikel ini, kami akan memperkenalkan langkah dan pertimbangan untuk membuat ujian berfungsi untuk IntegrationFlows untuk membantu pembangun melaksanakan kerja ujian integrasi dengan lebih baik.

Kandungan soalan

Saya mempunyai standardintegrationflow yang berjalan setiap hari dan memadamkan fail yang lebih lama daripada 10 hari.

@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();
  }
Salin selepas log masuk

Saya ingin membuat ujian berfungsi untuk mengesahkan bahawa ia berfungsi. Saya telah menguji kod secara manual, menetapkan ungkapan cron untuk dijalankan setiap 2 minit dan memadamkan fail yang lebih lama daripada 5 minit, tetapi sudah tentu saya memerlukan beberapa ujian automatik.

Saya terfikir untuk mencipta 2 fail, satu lebih lama daripada 10 hari dan satu lagi tidak. Dapatkan kedua-dua fail dan sahkan ia wujud. Kemudian gunakan objek sourcepollingchanneladapter untuk mencetuskan sourcepollingchanneladapter 的对象手动触发 standardintegrationflow 并调用 .start() secara manual dan panggil fungsi .start(), kemudian cuba dapatkannya semula dan sahkan bahawa ia telah dipadamkan.

Soalan pertama ialah sama ada ini cara yang betul untuk menguji aliran integrasi. Selain itu, saya tidak dapat mencari cara mudah untuk mencipta fail dan menukar masa pengubahsuaiannya dalam ujian.

Saya menggunakan integrasi spring 5.5.15 dan rangka kerja spock untuk ujian. Juga gunakan bekas minio untuk menyimpan fail pada pelayan untuk ujian berfungsi

Penyelesaian

Anda boleh PollerSpec 作为 bean 并从 oldReceiptsCleaner 流定义中引用它。然后您在测试配置中覆盖该 bean。然后你就有了 LastModifiedFileListFilter ,它可以基于 age beberapa sifat dan nyatakan nilai yang diperlukan dalam ujian.

Saya tidak biasa dengan Minio, tetapi mungkin ada API cara membuat fail menggunakan yang diperlukan lastModified.

Kemudian ya. Anda boleh menambah @SpringIntegrationTestnoAutoStartup 一起使用作为 Sftp.inboundStreamingAdapter 的 bean 名称。创建文件后,您可以在测试方法中手动启动SourcePollingChannelAdapter.

Atas ialah kandungan terperinci Cara membuat ujian berfungsi untuk IntegrationFlows. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)