【问题标题】:Citrus flightbooking sample execution?Citrus 航班预订样本执行?
【发布时间】:2022-05-06 07:59:05
【问题描述】:

我是 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:连接 拒绝:连接 11:18:22,197 错误 ageListenerContainer|不能 刷新目标“Travel.Agency.Request.Queue”的 JMS 连接

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

[ERROR] 测试运行:1,失败:1,错误:0,跳过:0,时间 经过:4.575 秒

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

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

(我运行的是 Windows 10)

【问题讨论】:

    标签: testing citrus-framework


    【解决方案1】:

    简答

    对于您对 Citrus 的不良第一印象,我深表歉意。您对自述文件是正确的,这似乎是一个复制粘贴错误。如果将在 repo 中修复它。

    正确执行的maven命令是:

    mvn clean verify -Dembedded
    

    长答案

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

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

    <activation>
      <property>
        <name>embedded</name>
      </property>
    </activation>
    

    【讨论】:

    • 我刚刚更新了sample-flightbooking 存储库的自述文件,请参阅GitHub repo
    • 您也可以在单独的命令行终端mvn activemq:run 中运行activemq 消息代理
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    相关资源
    最近更新 更多