@TestConfiguration 在顶级类上的目的是什么?

jhy*_*yot 8 java spring spring-boot

Spring Boot 1.4为测试带来了很多很好的改进

我不清楚@TestConfiguration. 它似乎没有按预期工作。

我认为,如果我@TestConfiguration在顶级课程/src/test/java上使用它,它会被@SpringBootTest测试选中(请参阅此处)。但情况似乎并非如此。如果我改为使用,@Configuration那么它会被正确拾取。

我误会了吗?说明书错了吗?Spring Boot 代码中是否存在错误?

jhy*_*yot 6

自从我问了这个问题以来,文档中的措辞已经得到澄清,并且现在更好地解释了这种行为。这是文档https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-testing-spring-boot-applications- exclude-config

当放在顶级类上时,@TestConfiguration 表示 src/test/java 中的类不应通过扫描来拾取。然后,您可以在需要的地方显式导入该类