- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有使用元注释的测试类:
@WebAppConfiguration
@ContextHierarchy({
@ContextConfiguration(locations = {"/web/WEB-INF/spring.xml" }, name = "parent"),
@ContextConfiguration("/web/WEB-INF/spring-servlet.xml")
})
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface BaseSpringTest {
}
但希望能够覆盖或附加到测试类本身的层次结构元素,例如:
@BaseSpringTest
@ContextConfiguration(locations = {"/web/WEB-INF/spring-extension.xml" }, name = "parent")
public class MyTest extends AbstractTestNGSpringContextTests {
...
}
到目前为止,这对我们来说还不起作用...是否有任何机制可以实现这一点?我发现https://jira.spring.io/browse/SPR-11038 ,但我认为这并不能完全解决这种情况。
谢谢!
最佳答案
is there any mechanism in place to make this happen?
不,没有这样的机制支持这种配置风格。
可以使用自定义组合注释来代替实际注释,不与实际注释结合使用。在核心 Spring 框架中都是如此(也许 @Profile
和 @Conditional
除外)。
换句话说,您不能声明 @ContextConfiguration
以及另一个使用 @ContextConfiguration
进行元注释的注释(例如,您的 @BaseSpringTest
)在同一个类上。如果这样做,您会发现 Spring 只找到这些声明之一。
但是,如果您引入基类,您就可以实现您的目标(尽管需要扩展该基类):
@BaseSpringTest
public abstract class AbstractBaseTests extends AbstractTestNGSpringContextTests {
// ...
}
@ContextConfiguration(locations = {"/web/WEB-INF/spring-extension.xml" }, name = "parent")
public class MyTest extends AbstractBaseTests {
// ...
}
当然,如果您要走“基类”路线,自定义组合注释对您来说可能没那么有用。
问候,
Sam(Spring TestContext 框架的作者)
关于java - 从元注释重写 ContextHierarchy 和 ContextConfiguration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25065849/
我的意思是,如果我用它注释不相关的类,Spring会推断逻辑层次结构还是它是一种仅适合物理层次结构的机制(抽象类和子类,如Spring文档的示例) 我所追求的是一种告诉上下文缓存重用不符合套件的不同测
我们有使用元注释的测试类: @WebAppConfiguration @ContextHierarchy({ @ContextConfiguration(locations = {"/web/
我想在 SpringBootTest 中使用数据库缓存上下文。 当在 ContextHierarchy 中尝试两个 ContextConfiguration 时: @SpringBootTest(pr
我是一名优秀的程序员,十分优秀!