【问题标题】:Is @ContextHierarchy useful out of the inheritance scenario?@ContextHierarchy 在继承场景之外有用吗?
【发布时间】:2016-09-07 22:44:46
【问题描述】:

我的意思是,如果我用它注释不相关的类,Spring 会推断逻辑层次结构还是仅适用于物理层次结构的机制(抽象类和子类,如 Spring 文档的示例)

我所追求的是一种告诉上下文缓存重用不符合套件的不同测试类使用的某些配置类的方法(即具有相同的上下文配置标识http://docs.spring.io/spring/docs/current/spring-framework-reference/html/integration-testing.html#testcontext-ctx-management-caching

【问题讨论】:

  • 请注意,如果您发现您的问题的答案之一可以接受,请随时accept it

标签: java spring junit4 spring-test


【解决方案1】:

如果我用它注释不相关的类,Spring会推断逻辑层次结构

不,@ContextHierarchy 不会神奇地推断它不知道的类中的任何内容。

如 Spring Framework 参考手册中所示,使用@ContextHierarchy 有两种基本场景。

  1. 用于在单个测试类中创建上下文层次结构。 (参见参考手册中的ControllerIntegrationTests
  2. 用于在测试类层次结构中创建上下文层次结构。 (参见参考手册中的SoapWebServiceTests

我所追求的是一种告诉上下文缓存重用不符合套件的不同测试类使用的某些配置类的方法

只要这些不同测试类的配置产生完全相同的上下文缓存键(请参阅 Spring 参考手册),那么这已经有效。这实际上是 Spring TestContext Framework 的主要优势之一。

如果你的意思是别的,那我不太确定你在问什么。

问候,

Sam(Spring TestContext 框架的作者

【讨论】:

  • 嗨,山姆!谢谢您的回答。所以 ContextHierarchy 对我试图完成的东西没有用处。我想要的正是表明某些上下文被重用,即使每个类的上下文键不同
  • 顺便说一句,如果在 ApplicationContext 中模拟某些 bean 将有助于解决您的问题,那么您应该在 Spring Boot 1.4 的 @MockBean 支持中获取战利品。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多