PHP 편집자 Xinyi가 IntegrationFlows에 대한 기능 테스트를 만드는 방법을 소개합니다. IntegrationFlows는 메시지 흐름의 논리를 정의하고 관리하는 데 사용되는 Spring Integration 프레임워크의 중요한 구성 요소입니다. 기능 테스트는 IntegrationFlows의 올바른 작동을 보장하는 핵심 링크 중 하나입니다. 이 문서에서는 개발자가 통합 테스트 작업을 더 잘 수행할 수 있도록 IntegrationFlows에 대한 기능 테스트를 만드는 단계와 고려 사항을 소개합니다.
매일 실행되어 10일이 지난 파일을 삭제하는 standardintegrationflow
이 있습니다.
작동하는지 확인하기 위해 기능 테스트를 만들고 싶습니다. 2분마다 실행되고 5분보다 오래된 파일을 삭제하도록 cron 표현식을 설정하여 코드를 수동으로 테스트했지만, 물론 일부 자동화된 테스트도 필요합니다.
10일이 넘은 파일과 그렇지 않은 파일을 2개 생성하려고 생각했습니다. 두 파일을 모두 가져와서 존재하는지 확인합니다. 그런 다음 sourcepollingchanneladapter
개체를 사용하여 sourcepollingchanneladapter
的对象手动触发 standardintegrationflow
并调用 .start()
를 수동으로 트리거하고 .start()
함수를 호출한 다음 다시 가져오고 삭제되었는지 확인하세요.
첫 번째 질문은 이것이 통합 흐름을 테스트하는 올바른 방법인지 여부입니다. 또한 테스트에서 파일을 생성하고 수정 시간을 변경하는 쉬운 방법을 찾을 수 없습니다.
테스트에는 spring-integration 5.5.15와 spock 프레임워크를 사용하고 있습니다. 또한 기능 테스트를 위해 미니오 컨테이너를 사용하여 서버에 파일을 저장합니다.
일부 속성을 PollerSpec
作为 bean 并从 oldReceiptsCleaner
流定义中引用它。然后您在测试配置中覆盖该 bean。然后你就有了 LastModifiedFileListFilter
,它可以基于 age
하고 테스트에서 필요한 값을 지정할 수 있습니다.
Minio에 익숙하지 않지만 필수lastModified
를 사용하여 파일을 생성하는 방법에 대한 API가 있을 수 있습니다.
그럼 그렇죠. @SpringIntegrationTest
与 noAutoStartup
一起使用作为 Sftp.inboundStreamingAdapter
的 bean 名称。创建文件后,您可以在测试方法中手动启动SourcePollingChannelAdapter
를 추가할 수 있습니다.
위 내용은 IntegrationFlows에 대한 기능 테스트를 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!