首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“CamelSpringTest”和“CamelSpringBootTest”有什么区别?

“CamelSpringTest”和“CamelSpringBootTest”有什么区别?
EN

Stack Overflow用户
提问于 2021-07-09 08:53:24
回答 1查看 1.4K关注 0票数 3

我刚刚开始一个结合Spring和Apache的项目(这似乎是一个非常好的组合)。

在JUnit 5的测试方面,谷歌推出了此页。如果您想同时使用Spring和Camel的注释(我想要的东西),它建议使用@CamelSpringTest

在页面的和部分,有关于JUnit 4测试迁移的建议,建议:

@RunWith(CamelSpringRunner.class)的用法应改为@CamelSpringTest .@RunWith(CamelSpringBootRunner.class)的用法应改为@CamelSpringBootTest

我的问题是关于新的项目/测试:两者在使用上有什么不同。

当然,代码是有区别的,但我不知道是出于什么原因:

CamelSpringTest:

代码语言:javascript
复制
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE })
@ExtendWith(SpringExtension.class)
@BootstrapWith(CamelTestContextBootstrapper.class)
@TestExecutionListeners(
                        value = {
                                CamelSpringTestContextLoaderTestExecutionListener.class,
                                StopWatchTestExecutionListener.class
                        },
                        mergeMode = TestExecutionListeners.MergeMode.MERGE_WITH_DEFAULTS)
public @interface CamelSpringTest {

}

CamelSpringBootTest

代码语言:javascript
复制
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE })
@ExtendWith(SpringExtension.class)
@TestExecutionListeners(
                        value = {
                                CamelSpringTestContextLoaderTestExecutionListener.class,
                                CamelSpringBootExecutionListener.class,
                                StopWatchTestExecutionListener.class
                        },
                        mergeMode = TestExecutionListeners.MergeMode.MERGE_WITH_DEFAULTS)
public @interface CamelSpringBootTest {

}
EN

回答 1

Stack Overflow用户

发布于 2021-07-14 10:20:27

区别很简单:测试是否在SpringBoot项目中运行?

Camel可以用于纯Spring项目(没有启动)。在这样的项目中,您可以扩展CamelSpringTestSupport来编写测试,也可以使用@CamelSpringTest注释。然后为该环境启动并初始化测试。

当您使用SpringBoot项目中的骆驼时,Camel可以利用这个环境进行自动配置等等。因此,您必须使用另一个注释@CamelSpringBootTest来编写测试。见举个例子

因此,这两个注释只是针对不同项目类型的两个不同的骆驼测试设施的“激活器”。这些只是春天的设施。有关更多的骆驼测试设施,请参阅此页面。

这也是关于骆驼测试的许多困惑的根源。有如此多的测试变体,Spring、SpringBoot、JUnit 4、JUnit 5等等,因此很难知道测试设置的组合需要什么注释。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68313960

复制
相关文章

相似问题

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