테스트 할 흐름이 있습니다. 흐름에는 HTTP 인바운드 커넥터가 있으며 흐름 자체는 RESTful 서비스로 작동합니다.MUnit Mule 테스트 용 HTTP URL 매개 변수 설정
흐름에는 몇 가지 URL 매개 변수가 설정되어 있어야하며 표준 표기법 인 #[message.inboundProperties.'http.query.params'.test]
을 사용하여 전체적으로 이러한 매개 변수에 액세스합니다.
MUnit을 사용하여이 흐름을 테스트하고 싶습니다. 흐름에 대해 기본 MUnit 테스트를 생성하면 MUnit은 원래 플로우를 호출하기 위해 flow-ref를 작성합니다. 그러나 흐름이 HTTP에 의해 호출 될 것으로 예상하고 URL 매개 변수가 설정되기를 기대하기 때문에이 테스트를 즉시 실행하는 것은 실패합니다.
여기가 지금입니다. 흐름을 정상적으로 처리 할 수 있도록 flow-ref를 호출하기 전에 이러한 변수를 설정하고 싶습니다. 하나는 다양한 속성을 수동으로 MessagePropertyMapContext
를 인스턴스화하고 flow-ref
구성 요소를 교체 http.query.params
변수
munit:set
구성 요소를 사용하여
- :
나는 몇 가지 시도
HTTP
구성 요소를 사용하고 실제 HTTP 메시지로 흐름을 호출하는 경우
이 모든 것이 제대로 작동하지 않는 것 같습니다.
변수 설정은 항상 실패한 것으로 보이며 변수에 액세스하려고하면 NullPointerException
이됩니다.
뮬은 시험을 위해 임의로 포트를 할당하므로 런타임시이 포트에 액세스 할 수없는 것 때문에 HTTP
구성 요소를 사용하여 플로를 호출하면 작동하지 않습니다. 따라서 끝점을 호출 할 방법이 없습니다.
비슷한 질문이 here과 here인데 다른 곳에서 보았지만 도움이되지 않습니다.
그래서 기본적인 질문입니다. MUnit 테스트에서 테스트 할 때 흐름에 의해 액세스 할 수있는 URL 매개 변수를 설정하려면 어떻게해야합니까? 대신 여기에서 달성하려는 목표를 달성하는 더 좋은 방법이 있습니까?
감사합니다.