0

我是 Citrus 的新手,所以我尝试执行

航班预订样本,但我面临一些问题。首先,我认为有些东西

自述文件有误( https://github.com/christophd/citrus-samples/tree/master/sample-flightbooking上的 readme.md )。“转到文件夹并在 Web 容器中启动 BookStore WebService 应用程序。执行此操作的最简单方法是执行”它似乎是另一个示例自述文件的一部分。

当我执行mvn jetty:run时,码头服务器启动,但我收到这些消息:

  • 使用 FixedBackOff{interval=5000, currentAttempts=4, maxAttempts=unlimited} 重试。原因:无法连接到代理 URL:tcp://localhost:61616。原因:java.net.ConnectException:连接被拒绝:connect 11:18:22,197 ERROR ageListenerContainer| 无法刷新目标“Travel.Agency.Request.Queue”的 JMS 连接

此外,当我尝试mvn integration-test(码头服务器运行时)时,测试失败并收到以下消息:

[错误] 测试运行:1,失败:1,错误:0,跳过:0,经过的时间:4.575 秒 <<< 失败!- 在 com.consol.citrus.samples.flightbooking.FlightBookingIT [错误] FlightBookingIT(com.consol.citrus.samples.flightbooking.FlightBookingIT) 已用时间:1.514 秒 <<< 失败!com.consol.citrus.exceptions.TestCaseFailedException:测试用例失败原因:org.springframework.jms.UncategorizedJmsException:JMS处理过程中出现未分类异常;嵌套异常是 javax.jms.JMSException:无法连接到代理 URL:tcp://localhost:61616。原因:java.net.ConnectException:连接被拒绝:连接原因:javax.jms.JMSException:无法连接到代理 URL:tcp://localhost:61616。原因:java.net.ConnectException:连接被拒绝:连接原因:java.net.ConnectException:

localhost:61616 上似乎缺少某些东西(我想是 JMS 代理?)。

您能否指导我如何成功执行示例?

(我正在运行 Windows 10 )

谢谢你。

4

1 回答 1

1

简答

很抱歉您对 Citrus 的第一印象不好。您对自述文件是正确的,这似乎是一个复制粘贴错误。如果将在回购中修复它。

要执行的正确maven命令是:

mvn clean verify -Dembedded

长答案

embedded参数将激活 POM 中的两个配置文件,activemq-embedded并且jetty-embedded. 正如他们的名字所暗示的,这将启动一个内存中的 ActiveMQ 代理,以及一个在集成测试运行之前部署了被测系统的 Jetty 服务器。

请注意,在其他示例中,例如sample-databind,README 建议运行mvn clean install -Dembedded=true. 这将做几乎相同的事情,但我更喜欢verify生命周期,因为它不会将人工制品复制到本地 maven 存储库。此外,=true配置文件激活部分不是必需的,因为一旦属性存在,相应的配置文件就会被激活(与其实际值无关),请参阅

<activation>
  <property>
    <name>embedded</name>
  </property>
</activation>
于 2017-08-09T09:22:16.930 回答