问题在于Spock Spring正在寻找Spring的@ContextConfiguration
注解,而没有找到它。严格地说MyTestSpec
被 标注了@ContextConfiguration
,因为它是一个元注释@SpringApplicationConfiguration
,但斯波克Spring不考虑元注释作为其搜索的一部分。存在一个解决此限制的问题。同时,您可以解决它。
所有@SpringApplicationConfiguration
要做的就是@ContextConfiguration
使用特定于Boot的上下文加载器进行自定义。这意味着您可以通过使用适当配置的@ContextConfiguration
注释来达到相同的效果:
@ContextConfiguration(loader = SpringApplicationContextLoader.class, classes = MyServer.class)
@WebAppConfiguration
@IntegrationTest
class MyTestSpec extends Specification {
…
}
只是要确保它是明确的(并且基于注释,不是),为此,您需要org.spockframework:spock-spring
在类路径中使用。