关于JUnit测试用例,@SpringApplicationConfiguration
和@ContextConfiguration
之间有什么区别?
答案 0 :(得分:4)
domains.google.com
是Spring Test Framework中的一个注释,它适用于每个Spring应用程序,@ContextConfiguration
来自Spring Boot,实际上是一个复合注释,其中包括@SpringApplicationConfiguration
自定义ContextConfiguration
作为加载程序。
答案 1 :(得分:4)
@ContextConfiguration
和@SpringApplicationConfiguration
都在做同样的事情。加载和配置ApplicationContext以进行集成测试。但@ContextConfiguration
有些人缺乏支持。
在Spring 3.1
之前,仅支持基于路径的资源位置(通常是XML配置文件)。从Spring 3.1开始,上下文加载器可以选择支持基于路径的资源或基于类的资源。
从Spring 4.0.4开始,上下文加载器可以选择同时支持基于路径和基于类的资源。因此,@ContextConfiguration
可用于声明基于路径的资源位置(通过locations()或value()属性)或带注释的类(通过classes()属性)。
但是,请注意,只有SmartContextLoader的大多数实现 支持单一资源类型。从Spring 4.1开始,基于路径的资源 位置可以是XML配置文件或Groovy脚本(如果 Groovy在类路径上)。当然,第三方框架可能会 选择支持其他类型的基于路径的资源。
@SpringApplicationConfiguration
与标准@ContextConfiguration
类似,但使用Spring Boot的SpringApplicationContextLoader 。
答案 2 :(得分:0)