首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Camel项目的测试自动化

Apache Camel项目的测试自动化
EN

Stack Overflow用户
提问于 2020-12-04 21:30:46
回答 1查看 133关注 0票数 0

你好,骆驼社区,

我有一些关于测试执行和自动化的问题。我使用的是Red Hat Fuse 7.7 (即Camel2.21.0和Karaf4.2.6作为OSGi基础)。

我对自动化测试很感兴趣,因此实现了一些基于CamelBlueprintTestSupport的单元测试。但不幸的是,当有一堆测试时(大约.20),测试执行的性能非常慢。其他人也有性能问题吗?是不是因为后台加载PojoSR的过程比较复杂?

我还尝试使用Pax-Exam设置集成测试。但由于我的项目总体上相当复杂,安装所有需要的功能和相关组件需要花费很多时间。是不是只有我一个人在为框架而苦苦挣扎?性能再次变差,似乎几乎不可能创建一个测试设置来允许使用像camel-sql或Drools (kie)这样的依赖项,因为它们再次依赖于其他工件,如spring等。

你在测试方面有什么经验?您使用什么工具来检查您的集成是否为给定的输入生成了正确的输出?

我期待着听到你的经验并参与讨论。问候

EN

回答 1

Stack Overflow用户

发布于 2020-12-05 00:50:32

你所描述的,已经导致了the testing pyramid

编写大量非常快速的单元测试来测试你能想到的每一种特殊情况--方法或类级别上的

但是在集成测试级别,每个测试都需要一些时间来执行。因此,您应该将它们缩小到无法在较低测试级别中测试的基本测试用例。

您将Camel Route tests称为“单元测试”,但由于它们需要整个应用程序上下文,或者至少不只是一个类,因此我会将它们计算到金字塔中的更高级别(服务测试、组件测试,周围有许多名称)。因此,我已经尝试将它们减少到所需的最低限度。

我的保持低Camel测试工作量的策略是相当常见的:

  • 我把Java代码放到JavaBeans中,然后从路由调用它们。这样,我就可以用普通的JUnit对Java进行彻底的单元测试,而不需要用路由测试来测试所有这些变化。我使用"1 to “可能的执行路径创建了紧凑的小型路由,而不是具有数十个可能的代码执行路径的大型路由。这与大型方法与小型方法的原理相同。可能的路径在巨大的方法或路由中成倍增加。
  • I使用Spring,而不是OSGi,但是Spring Framework的骆驼测试类可以运行具有相同Spring上下文的所有测试方法(,而不需要重新启动测试之间的上下文)。这显著地减少了测试执行时间。但这取决于路由和测试需求( Spring可以在测试之间重启“脏上下文”是有原因的),我不知道蓝图测试是如何运行的。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65144467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档