【发布时间】:2023-03-22 12:34:01
【问题描述】:
我应该在集成测试期间始终启动 Spring 上下文吗? (我的意思是使用@SpringBootTest注解)
目前我正在编写涉及几个类的集成测试,为了使其更快,我手动创建对象图(即我不启动 Spring IoC 容器)。所以目前我的集成测试(用 Spock 编写)看起来像这样:
class UserConverterIT extends Specification {
UserConverter converter = new UserConverter(new UserDtoFactory(new UserGroupPolicy()))
def 'should ...'() {
when:
converter.convert(...)
then:
...
}
}
或者,我可以添加@SpringBootTest 注释,将@Autowire 放在UserConverter 字段上方,所有依赖项将自动注入。但是,第一种方法要快得多。这种方法有什么问题吗?
【问题讨论】:
标签: java spring spring-boot testing spring-boot-test