当前位置: 首页 > 知识库问答 >
问题:

如何用Java DSL测试Camel JMS路由

吴宝
2023-03-14

我有一个camel Java DSL路由,它被定义为从队列中获取消息并将它们路由到Java处理器。路由定义了一些异常处理,它查找特定类型的异常,并在处理器抛出该异常时将消息放回队列中。我已经知道这条路由实际上是可行的,但是我想对这条路由进行正确的单元测试。

是否可以发布一个简单的基于Java DSL的示例来说明如何执行此操作?我从各种帖子中拼凑出一些建议,也许我应该使用camel占位符功能,用seda或一个mock或一个direct之类的东西来替换我的activeMQ:queueendpoint(不确定)。

也许我应该使用一个拦截器来拦截发往处理器的消息,并让拦截器的处理器抛出我的异常。我希望我的单元测试发送一个消息通过,让我的拦截器抛出一个异常,并期望消息结束回到我的模拟队列或其他影响。但我不是很确定怎么把这些都放在一起。请给出Java DSL示例?

谢谢

共有1个答案

易俊友
2023-03-14

Apache Camel本身的单元测试中有Java DSL示例,尽管有很多,所以可能需要一些时间来找到合适的示例。

也许更好的方法是看看骆驼书籍中的例子,如《骆驼在行动》,第6章:

  • http://manning.com/ibsen/
  • https://github.com/camelinaction/camelinaction/tree/master/chapter6/error/src/test/java/camelinaction
  • https://www.packtpub.com/application-development/apache-camel-developers-cookbook
  • https://github.com/camelcookbook/camel-cookbook-examples/tree/master/camel-cookbook-error
  • https://github.com/camelcookbook/camel-cookbook-examples/tree/master/camel-cookbook-testing
 类似资料:
  • 问题内容: 我正在使用酶+摩卡+柴来测试我的react-redux项目。酶提供浅浅以测试组件的行为。但是我没有找到测试路由器的方法。我正在使用如下的react- router: 我要测试此路由参考组件。如何在reactjs项目中对其进行测试? 编辑1 我正在使用作为路由器框架。 问题答案: 您可以将路由器包装在组件中以对其进行测试。 Routes.jsx index.js 然后,您必须对组件进行浅

  • 英文原文:http://emberjs.com/guides/testing/testing-routes/ 单元测试方案和计算属性与之前单元测试基础中说明的相同,因为Ember.Route集成自Ember.Object。 路由测试可以通过集成测试或者单元测试来进行。集成测试对路由的测试具有更好地覆盖性,因为路由通常用来执行过渡和数据加载,这些测试在完整上下文中更加容易测试,而独立上下文则没有那么

  • 问题内容: 我正在学习Node.js,并且一直在玩Express。真的很像框架;但是,我很难弄清楚如何为路由编写单元/集成测试。 能够对简单模块进行单元测试非常容易,并且已经通过Mocha完成了;但是,由于我传入的响应对象未保留值,因此使用Express进行的单元测试失败。 待测路由功能(routes / index.js): 单元测试模块: 当我运行它时,它因“错误:检测到全局泄漏:viewNa

  • 到目前为止,在单元测试中,响应路由器匹配参数作为组件的道具被检索。因此,测试一个组件,考虑一些特定的匹配,与特定的url参数,是很容易的:我们只需要精确路由器匹配的道具,因为我们想要在测试中渲染组件(我使用酶库的目的)。 我真的很喜欢检索路由内容的新钩子,但我没有找到关于如何在单元测试中使用新的react路由器钩子模拟react路由器匹配的示例?

  • Some quick examples for techniques for testing. 合约事件Testing ERC-20 Transfer Event describe('Events', async function() { it('triggers a Transfer event', function() { let contract = new Con

  • 问题内容: 我正在使用JavaScript测试运行程序“摩卡”。 我的测试失败了,因此我将使用进行调试。 但是运行测试时,没有输出(仅来自Mocha的测试结果)。看来Mocha已捕获并抑制了我的输出! 如何让Mocha显示输出?(对于失败的测试)? 编辑: 抱歉!- 在测试期间可以正常工作!我肯定一直期望它抑制输出,而且我没有正确检查自己的代码。感谢您的回应。所以…话虽如此…也许抑制通过测试的输出