有人知道如何在端到端测试中验证输出,这是队列的消息吗?
我正在运行一个依赖于3种不同服务的应用程序。我想运行一个端到端的测试,它使用REST作为入口点,jms队列作为输出。运行它的环境是UAT,我无法控制代理配置。这些输出消息被发送到该测试范围之外的另一个服务,因此我将无法模拟消费者,因为这需要是真实的消费者。测试将从CI工作中提取的单独项目开始。
在这种情况下,有什么方法可以验证,在给定输入的情况下,我以jms消息的形式获得输出而不干扰环境的正常行为?我被告知我可以使用Wiretap模式,但我没有使用任何集成框架,只是简单的Spring JmsTemplate所以我必须自己复制消息。此外,据我所知,消息需要发送到我可以收听的另一个队列,因此需要为此测试创建消息。
有什么想法吗?
感谢。
答案 0 :(得分:0)
专门为UAT创建一个内存中的ActiveMQ实例并在那里提交消息,然后进行验证。我以前做过,这有点痛苦,但它确实让你完全控制你的UAT环境,而不受你的基础设施/管理员/其他任何想法的影响。