仅在使用基于 Spring java 的配置运行测试时初始化数据库
Posted
技术标签:
【中文标题】仅在使用基于 Spring java 的配置运行测试时初始化数据库【英文标题】:Initialize database only when running Test using Spring java based configuration 【发布时间】:2013-11-26 20:40:31 【问题描述】:我有代码来创建数据源并运行脚本来创建模式并使用基于 java 的 spring 配置添加数据。我只想在测试模式下运行这些脚本。我需要在数据库初始化程序 bean 之上指定任何注释来完成这项工作吗?
【问题讨论】:
【参考方案1】:您可以为此使用@profile 注解,例如:
@Configuration
@Profile("test_profile")
public class StandaloneDataConfig
@Bean
public DataSource dataSource()
// do data source creation/initialization
然后使用:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader=AnnotationConfigContextLoader.class,
classes=StandaloneDataConfig.class)
@ActiveProfiles("test_profile")
public class TransferServiceTest
@Autowired
private TransferService transferService;
@Test
public void testTransferService()
// test the transferService
您可以阅读 Spring 团队的 this 博客文章以了解更多详细信息。
【讨论】:
我可以通过使用两个单独的 Java 配置来做到这一点,但是如何使用单个 Java 配置文件来做到这一点?以上是关于仅在使用基于 Spring java 的配置运行测试时初始化数据库的主要内容,如果未能解决你的问题,请参考以下文章
仅在 REST API 调用上的 Spring Boot 404
[Spring实战系列](15)使用Spring基于Java的配置
Eclipse软件运行spring boot项目修改静态文件(htmlcssjs)需要重启项目才生效---解决方法(亲测可用)
Eclipse软件运行spring boot项目修改静态文件(htmlcssjs)需要重启项目才生效---解决方法(亲测可用)