通过H2进行Spring Boot测试时,它将数据写入本地的MySQL数据库的原因是因为在Spring Boot中,默认的数据源配置是使用嵌入式的H2数据库。当我们进行测试时,Spring Boot会自动创建一个内存中的H2数据库实例,并将数据写入其中。
这种默认行为的好处是测试环境的搭建变得非常简单,无需手动配置和安装MySQL数据库。同时,H2数据库的性能也比较好,适合用于测试场景。
然而,如果你希望将测试数据写入到MySQL数据库中,你可以进行以下配置:
application.properties
或application.yml
文件中,配置MySQL数据库的连接信息,包括URL、用户名和密码。@TestPropertySource
注解指定使用的配置文件,例如:@TestPropertySource(locations = "classpath:test.properties")test.properties
文件中,指定使用MySQL数据库的配置,例如:spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver通过以上配置,你就可以将测试数据写入到MySQL数据库中了。
需要注意的是,为了保证测试的独立性和可重复性,通常建议使用嵌入式的H2数据库进行测试。这样可以避免测试数据对实际环境产生影响,并且测试执行速度也会更快。只有在特定需求下,才需要将测试数据写入到实际的MySQL数据库中。
TDSQL精英挑战赛
DBTalk
云+社区技术沙龙[第17期]
DB TALK 技术分享会
serverless days
领取专属 10元无门槛券
手把手带您无忧上云